I needed to track down all the access DB’s and wasn’t sure how to do it.
One of our developers came up with a script which I modified a bit.
Original credit goes to Ravi Konaparthi for the script.
This script will look for Access Services DB’s in a SharePoint 2010 Farm.
(This version only looks at a given Web application, but you can easily modify it to search everything – have a look at the comments)
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'} if ($snapin -eq $null) { Write-Host "Loading SharePoint Powershell Snapin" Add-PSSnapin "Microsoft.SharePoint.Powershell" } #Foreach loop to loop through all webs, and compare the web template and write findings to .csv file. function Get-AccessDB() { log "In Get-AccessDB" $url = getURL #NOTE - if you want to look at ALL Sites and not just a specific web application, just remove -webapplication $url from the line below. $sites=Get-SPSite -webapplication $url -limit all foreach($Site in $sites) { log "Inspecting Site $($site.url)" foreach($web in $site.AllWebs) { log "inspecting web $($web.url)" if ($web.WebTemplate -like "*ACCSRV*") { log "Found Access DB in $($web.url)" "Green" $hash = @{"[URL]"=$web.Url;} New-Object PSObject -Property $hash | Sort-Object } } $site.Dispose() } } function log($txt, $color) { if ($color -eq $null) { $color = "White" } write-host $txt -foregroundcolor $color } function getURL() { switch(hostname) { "SPDEVPC" {$machineURL = "http://yourDevURL.yoursite.com"} "SPStagePC" {$machineURL = "https://yourStgURL.yoursite.com"} "SPProdSrv" {$machineURL = "https://yourProdURL.yoursite.com"} default {write-host "This should be run from either SPDEVPC, SPSTAGEPC or SPPRodSRV - Press any key to exit this script"; read-host; exit} } return $machineURL } Get-AccessDB | Export-csv D:\accessdb.csv