Elencare tutti gli utenti Site Collection Administrator (con Powershell)

Navigando tra i thread dei forum dedicati a SharePoint su Technet spesso incontro domande che stimolano la mia curiosità. E’ successo anche oggi quando un utente chiedeva come poter ottenere un elenco di tutti gli utenti site collection administrator per poter inviare loro un e-mail. Il punto non era tanto l’invio della mail quanto il poter ottenere una lista di utenti e indirizzi e-mail.

Utilizzando Powershell l’operazione risulta molto semplice:

Get-SPWebApplication | Get-SPSite -Limit All | ForEach-Object{
Get-SPUser -Web $_.URL | ?{$_.isSiteAdmin -eq “$true” -and $_.Email -ne “”} | select DisplayName, Email
}

Questo script cicla tutte le Site Collection di tutte le Web Application della farm selezionando gli utenti Site Collection Administrator con un indirizzo e-mail e ne mostra Display Name e E-mail. Volendo potremmo completare il tutto esportando i nostri dati utilizzando la cmdlet Export-Csv, ottenendo quindi:

Get-SPWebApplication | Get-SPSite -Limit All | ForEach-Object{
Get-SPUser -Web $_.URL | ?{$_.isSiteAdmin -eq “$true” -and $_.Email -ne “”} | select DisplayName, Email | Export-Csv C:tempSiteCollectionAdministrators.csv
}

Beat the Heat
– Riccardo