Ceci est le script que j'ai créé pour extraire les autorisations de tous les calendriers présents dans une organisation d'échange.
Le script recherche ces dossiers dans chaque boîte aux lettres “Calendrier” e, pour chacun d'eux, extrait ses permis, le résultat est sorti dans un fichier csv.
$ mailbox_list = Get-Mailbox -Resultsize Unlimited
pour chaque ($ mailbox dans $ mailbox_list)
{
$ calendars = $ boîte aux lettres | Get-MailboxFolderStatistics | Où {$ _. type de dossier -eq “Calendrier”}
pour chaque ($ calendrier dans $ calendriers)
{
[chaîne]$ ID_calendario = $ mailbox.PrimarySmtpAddress
$ Calendar_id + = “:\”
$ Calendar_id + = $ calendar.nameGet-MailboxFolderPermission $ ID_calendario | sélectionner l'identité,nom de dossier,utilisateur,@{nom =”Des droits d'accès”;expression ={ [chaîne]::joindre(“,”,@($ _. droits d'accès)) }} | Export-Csv c:tempout.csv -Ajouter
}
}
La sortie est au format:
#TYPE Selected.Microsoft.Exchange.Management.StoreTasks.MailboxFolderPermission
“Identité”,”Nom de dossier”,”Utilisateur”,”Des droits d'accès”
“domain.local / BigPharma Spa / Mario Rossi:\Calendario”,”Calendrier”,”Giorgio Giorgetti”,”Critique”
“domain.local / BigPharma Spa / Mario Rossi:\Calendario”,”Calendrier”,”Fabio Guidetti”,”Critique”
“domain.local / BigPharma Spa / Mario Rossi:\Calendario”,”Calendrier”,”Monica Alberelli”,”Critique”
“domain.local / BigPharma Spa / Mario Rossi:\Calendario”,”Calendrier”,”Maria Moria”,”Critique”
“domain.local / BigPharma Spa / Mario Rossi:\Calendario”,”Calendrier”,”Guido Marchesini”,”Critique”
“domain.local / BigPharma Spa / Marco Verdi:\Calendario”,”Calendrier”,”Défaut”,”DisponibilitéSeulement”