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.

5 Kommentare zu “Exchange 2010: Berechtigungen auf einzelne Postfach Ordner für alle Postfächer auslesen”

  1. Hi Franky ;)

    super Script, vielen Dank dafür, spart mir imsenses probieren und googlen :)
    Gibt es das ähnlich auch Rückwärts?
    Also eine UserID angeben und Ordnergenau aufgelistet bekommen, wo der user Zugriff hat?
    Ich könnte ja eventuell die Exceldatei Sortieren danach aber wenns per Script ginge wäre das natürlich schöner :)

    Jedenfalls Danke nochmal.

  2. Hallo „Franky“

    danke für das zu Verfügung Stellen deiner Scripte.

    Hierzu eine Frage als PS Neuling, da ich nicht drauf komme.
    Was muss ich anpassen um ausschließlich die Berechtigungen auf genau einen bestimmten Ordner zu erhalten.

    THX
    Frank

  3. Hi Frank,

    ich würde gerne diesen Skript nutzen. Jedoch bekomme ich folgenden fehler in der Endlosschleife:

    Add-Content : Das Gerät ist nicht bereit.
    Bei C:\tmp\BerechtigungsAbfrage.ps1:30 Zeichen:68
    + „$mailbox;$folderpath;$accessuser;$accessright“ | add-content <<<< $outfile
    + CategoryInfo : WriteError: (D:\test\report.csv:String) [Add-Content], IOException
    + FullyQualifiedErrorId : GetContentWriterIOError,Microsoft.PowerShell.Commands.AddContentCommand

    Gruß Daniele

    1. Hallo,
      bitte prüfen Sie die Einstellung für die Variable $outfile, dort sollte ein gültiges Verzeichnis mit Angabe einer Datei stehen. Beispiel: $outfile = „d:\test\report.csv“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.