Get Site Collection Administrators
For one activity I had to find all Site Collection Administrators for each and every web application. since I had only few web applications. I managed get it done with the help of bellow link.
after few modifications, now this script will generate a .csv file with site name and all site collection administrators for each site collection.
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$webApp = Get-SPWebApplication -Identity "http://webappURL"
$logFilePath = "FilePath\$($webApp.Name)-Log.log";
Add-Content -Path $logFilePath -value "SiteName | Admin Name";
$siteCollections = $webApp.Sites ;
foreach($spSite in $siteCollections)
$siteURL = $spSite.Url;
$siteCollectionAdmins = $spSite.RootWeb.SiteAdministrators;
foreach ($admin in $siteCollectionAdmins)
Write-Host $spSite.Url "|" $admin.DisplayName;
Add-Content -Path $logFilePath -value " $($siteURL) | $($admin.DisplayName)";
Hope This will help someone.