Site Collection Administrators Report for All SharePoint 2007 Sites
I just had to generate a report to find SharePoint site collection administrators and see who are all assigned with Site collection administrator rights on various site collections in the entire SharePoint Farm.
Sure, let’s use PowerShell in SharePoint to get site collection administrator programmatically. This script iterates through all site collections in all web applications to list site collection administrators.
PowerShell Script to Get All Site Collection Administrators
I have made it compatible with SharePoint 2007
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
#Get the Farm
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
#Get All Web Applications
$farmWebServices = $farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]}
foreach ($farmWebService in $farmWebServices) {
#Loop through Each web applicatoin
foreach ($webApplication in $farmWebService.WebApplications) {
#Loop through each site collection
foreach ($site in $webApplication.Sites)
{
$Admins=""
#Get all Site Collection Administrators
foreach ($siteCollAdmin in $site.RootWeb.SiteAdministrators)
{
$Admins+= $siteCollAdmin.LoginName +";"
}
Write-Host "Site URL: " $site.RootWeb.Url " - Site Collection Admins: " $Admins "`n"
$site.Dispose()
}
}
}
By the way, It works on SharePoint 2010 and SharePoint 2013 as well.
To get all site collection administrators in SharePoint Online, use: SharePoint Online: PowerShell to Get All Site Collection Administrators
is there any way to export the data in excel?
Just use: $site.RootWeb.Url+”,”+$Admins | Export-CSV “C:\Temp\SiteAdmins.csv” -append -NoTypeInformation
Hello
do we have any script to get a report out of SharePoint Online?
Is there a similar command to get a report out of SharePoint Online?
Yes! Here you go: SharePoint Online: Export Site Collection Administrators to CSV Report