Website-Icon Frankys Web

Exchange 2010: Berechtigungen auf einzelne Postfach Ordner für alle Postfächer auslesen

Hier mal wieder ein Script aus der Kategorie Quick and Dirty. Das Script liest alle Berechtigungen für alle Ordner innerhalb der Postfächer der Exchange Organisation aus und speichert sie zur weiteren Analyse in einer CSV Datei. Vieleicht kann es ja jemand gebrauchen oder sogar in eine vernünftige Form bringen.

# Alle Postfach Ordner in Ihre Berechrigungen für
# alle Postfächer auslesen und in CSV-Datei schreiben
#
# written by Frank Zöchling
# www.frankysweb.de

#—————————————————–

# Hier CSV Datei und Pfad angeben:
$outfile = „d:\test\report.csv“

#—————————————————–
$entireforest = Set-ADServerSettings -ViewEntireForest $true
$mailboxes = get-mailboxdatabase | get-mailbox
„Postfach;Ordnerpfad;Benzuter;Rechte“ | set-content $outfile

foreach ($mailbox in $mailboxes)
{
$folders = Get-MailboxFolderStatistics $mailbox | ForEach-Object {$_.FolderPath}
foreach ($folder in $folders)
{
$alias = $mailbox.Alias
$folderpath = $alias + „:“ + $folder
$folderpath = $folderpath -replace „/“,“\“
$folderaccessrights = Get-MailboxFolderPermission $folderpath -ErrorAction silentlycontinue
foreach ($folderaccessright in $folderaccessrights)
{
$accessright = $folderaccessright.AccessRights
$accessuser = $folderaccessright.Identity
„$mailbox;$folderpath;$accessuser;$accessright“ | add-content $outfile
}
}
}

In Zeile 25 steht “-ErrorAction silentlycontinue”, der Parameter unterdrückt Fehler auf der Konsole, da nicht alle Berechtigungen ausgelesen werden können, das betrifft zum Beispiel die Dumpster Ordner (Version, Purge etc). Die Ordner werden aber trotzdem im CSV aufgeführt.

Die mobile Version verlassen