Thursday, 14 September 2017

Get Site Admins information using PowerShell

<# Description:

- Extract all users under Site Collection Administrators Group in each site collection
- Sample output file is along with the script - SiteAdmins.csv
- Provide the Web Application URL as the input to this script
- ';' is used in between each values to separate the data columns in resultant CSV file

#>

Add-Pssnapin Microsoft.SharePoint.Powershell
$siteUrl = Read-Host "Enter Web Application URL"
$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication

$cSVFilePath = (get-location).ToString() +"\"+ "SiteAdmins" + ".csv"
$header = "Site;Account;DisplayName"
$header | Out-File $cSVFilePath -Append

foreach($site in $spWebApp.Sites)
 {
   foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
     {
        $SiteAdmins = "$($site.Url); $($siteAdmin.UserLogin); $($siteAdmin.DisplayName)"
        $SiteAdmins | Out-File $cSVFilePath -Append
     }
       $site.Dispose()
 }
$rootSite.Dispose()

No comments:

Post a Comment