Namen und Größe der Ordner im Exchange-Postfach anzeigen mit PowerShell

    Exchange-Ordner in OutlookMit PowerShell lassen sich die Berech­tigungen für Ordner in den Post­fächern zentral ver­walten. Die Namen vieler Ordner sind vom System vor­gegeben, so dass man diese aus dem Gedächtnis an ein Cmdlet über­geben kann. Kennt man die Ordner­namen aber nicht, dann kann PowerShell diese anzeigen.

    Nachdem ich relativ häufig Berechtigungen auf Postfächer setzen muss (siehe dazu: Berechtigungen im Exchange-Kalender zentral mit PowerShell ändern), trat beim täglichen Arbeiten immer wieder der Fehler auf, dass der für die Ordner angegebene Name ungültig war.

    Mehrsprachige Umgebung als Fehlerquelle

    Der Grund liegt in einer gemischten Umgebung aus deutschen und englisch­sprachigen Post­fächern bzw. Postfach­ordnern. Die Verwendung eines englischen Namens schlägt bei einem deutschen Postfach natürlich fehl.

    Fehler aufgrund eines ungültigen Ordnernamens

    Um diese Situation zu vermeiden, ist es hilfreich, vorab den richtigen Ordner­namen heraus­zufinden. Auch hier kann die Exchange-PowerShell helfen:

    Get-Mailbox max.mustermann | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity}

    Liste der von Get-Mailbox angezeigten Ordner

    Die Ausgabe des Befehls zeigt, dass es sich offen­sichtlich um ein englisch­sprachiges Postfach handelt. Gelöschte Elemente heißen hier Deleted Items.

    Namen individueller Ordner

    Die Notwendigkeit, den Namen eines Ordners zu ermitteln, besteht auch dann, wenn dieser von Hand angelegt wurde. Auch hier kann ausgelesen werden, wie der Ordner genau heißt.

    Weitere Informationen, welche das Script hier liefert, sind etwa die Größe der Ordner und die Zahl der enthaltenen Files:

    Get-Mailbox max.mustermann | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity, ItemsInFolder, FolderSize}

    Weitere Informationen zu den Ordnern eines Postfachs

    Für eine weitere Auswertung kann man die Ausgabe in eine CSV-Datei exportieren:

    Get-Mailbox max.mustermann | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity, ItemsInFolder, FolderSize} | Export-csv c:\Outlookordner.csv -NoTypeInformation

    Export der Ordnerliste in eine CSV-Datei

    Falls man sich einen Überblick über alle User verschaffen möchte, reicht es aus, den Benutzer­namen wegzu­lassen:

    Get-Mailbox | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity, ItemsInFolder, FolderSize} | Export-csv c:\Outlookordner.csv –NoTypeInformation

    Keine Kommentare