SharePoint 2013 Access Services are not new to anyone. However, once we enable the Access Services, there is no way to govern the Service.
At the least, I wanted to see a report of all the Access app instances in a Web Application and what database is associated with the app.
I tried to find a script over the internet, but couldn’t find none ( May be it was there buried deep down). So thought of writing my own and sharing it on my blog.
The Script goes as :
1: Add-PSSnapin Microsoft.SharePoint.PowerShell -ea SilentlyContinue;
2:
3: $AccessAppPrincipal = "75dc9906-f841-484a-b392-1ed899b92e4b";
4: $AccessAppPrincipalWildCard = "*" + $AccessAppPrincipal
5: $webApplication = "https://<WEB APPLICATION URL>";
6:
7: Start-SPAssignment -Global;
8: $instance = New-Object System.Collections.ArrayList;
9:
10:
11: Get-SPSite -WebApplication $webApplication -Limit All | Get-SPWeb -Limit All | ForEach-Object {$apps = Get-SPAppInstance -Web $_.Url | Where-Object {$_.AppPrincipalId -like $AccessAppPrincipalWildCard}| ForEach-Object {$instance.Add($_);} }
12:
13:
14: Stop-SPAssignment -Global;
15: Start-SPAssignment -Global;
16:
17: foreach($app in $instance)
18: {
19: $web = Get-SPWeb $app.AppWebFullUrl.ToString();
20: $app;
21: "DB Name: " + $web.AppDatabaseName;
22: $web.Dispose();
23: }
24:
25: Stop-SPAssignment -Global;