Tags: Exchange, Migration, Rechteverwaltung
Bei einer Migration von Exchange 2013 zu 2016 wurde die Anforderung an mich herangetragen, die öffentlichen Ordner in Freigabepostfächer umzuwandeln. Dabei sollte nicht nur ihre Struktur inklusive der Inhalte, sondern auch die Berechtigungen übernommen werden. Letzteres erwies sich als der schwierigste Teil der Aufgabe.
Eine weitere Vorgabe bestand darin, dass Administratoren die Möglichkeit haben sollten, beispielsweise im Exchange Control Panel (ECP) Berechtigungen auf Unterordner setzen zu können. Für diesen Zweck eignet sich im Prinzip nur PowerShell, weil diese Anforderungen ohne einen Vollzugriff auf die Shared Mailbox(en) nicht direkt umgesetzt werden können.
Migration über den Umweg einer PST-Datei
Zusätzlich stellte sich die Frage, wie öffentliche Ordner mit einer Struktur von ca. 50 Unterordnern (Ordner, Kalender, Aufgaben etc.) in einer Shared Mailbox abgebildet werden können. Die bloße Struktur des öffentlichen Ordners zu übernehmen fällt aber relativ einfach, zum Beispiel mit einem Export in und Re-Import aus einer PST-Datei.
Die Berechtigungen zu setzen erweist sich jedoch als recht schwierig, da eine weitere Anforderung darin besteht, die jeweilige Shared Mailbox per Auto-Mapping in das Outlook des jeweiligen Benutzers einzublenden.
Ein erster Gedanke bei der Lösung dieser Aufgabe könnte sein, die Shared Mailbox den Benutzern per Vollzugriff über die Exchange-ECP zur Verfügung zu stellen. Dies steht allerdings im Gegensatz dazu, dass die bestehende Berechtigungsstruktur übernommen werden soll.
Die Komplexität dieses Projektes spricht dagegen, den Administratoren einfach einige Zeilen PowerShell-Code an die Hand zu geben und zu hoffen, dass sie damit klarkommen. Deshalb habe ich eine GUI gebaut, welches das Setzen der Berechtigungen vereinfacht.
GUI für das Management der Berechtigungen
Im ersten Feld werden alle Shared Mailboxes vorgeladen, darunter dann die Ordner des ausgewählten Postfaches. Danach kann dann mit einer entsprechenden Berechtigung der jeweilige Benutzer ausgewählt werden (einen ähnlichen Artikel habe ich hier bereits veröffentlicht, dabei ging es um Berechtigungen im Kalender).
Das Auto-Mapping kann nicht mit Vollzugriff auf das Rootverzeichnis (Automapping Outlook) konfiguriert werden, da die automatische Vererbung sich auf alle Ordner im Postfach auswirken würde und der jeweilige Benutzer dann alle Inhalte des Postfachs einsehen könnte.
Deshalb wird im Hintergrund dann für den Benutzer ein Vollzugriff auf das Stammverzeichnis des Postfaches eingetragen. Allerdings wird die Vererbung unterbrochen, damit explizite Berechtigungen für die Unterordner gesetzt werden können.
Danach muss auf das gleiche Verzeichnis nochmal die Option Berechtigung zum Anzeigen von Unterordnern aktiviert werden. Ab hier kann der Benutzer nach dem Auto-Mapping die für ihn gesetzten Unterordner in der Shared Mailbox sehen.
Achtung! Pro Benutzer sind die beiden oben beschriebenen Schritte nur einmalig auszuführen. Wenn er diese Berechtigungen bereits hat, dann kann mit den Berechtigungen für die Unterordner fortgefahren werden.
Senden von Mails über die Shared Mailbox
Häufig müssen die Benutzer "im Namen von" bzw. "Senden als" nutzen, wenn über die Shared Mailbox auch noch E-Mails versandt werden sollen. Damit man hier nun nicht extra in die Exchange ECP gehen muss, habe ich diesen Aspekt in das Script mit integriert.
Dieses PowerShell-Script ist also eine einfache Möglichkeit für Administratoren, Berechtigungen auf Unterordner von Shared Mailboxen zu setzen. Weiterführend könnte man darüber nachdenken, es so umzubauen, dass auch Benutzerpostfächer auf diese Art freigegeben werden. Hiermit könnte man sich die Stellvertretung sparen, um Benutzern den Zugriff auf das Postfach von Kollegen zu gewähren.
Das Listing für das Script ist relativ lang, so dass ich es hier nicht in den Text einbette. Es kann hier heruntergeladen werden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Roland Eich ist gelernter Fachinformatiker für Systemintegration und in der IT seit über 14 Jahren zu Hause. Roland deckt aufgrund seiner Erfahrungen ein breites Spektrum der Microsoft-Produktpalette ab.
Zudem besitzt er verschiedene Zertifizierungen (MCITP, MCSA und MCSE, ITIL, PRINCE2).
// Kontakt: E-Mail //
Verwandte Beiträge
- Exchange Impersonation: Service-Benutzer auf Postfächer berechtigen
- Microsoft Exchange: Auflisten von Mitgliedern einer statischen Verteilergruppe verhindern
- Im Test: On-prem-Exchange nach Microsoft 365 umziehen mit CodeTwo Office 365 Migration
- Hybridmodus von Exchange deaktivieren
- Exchange Public Folder nach Office 365 migrieren
Weitere Links
2 Kommentare
Vielen Dank hierfür. Funktioniert nach Bereinigung einiger Fehler im Script sehr gut.
Fehler in:
Zeile 48, Sonderzeichen haben sich eingeschlichen anstelle von Anführungszeichen
Zeile 111,112 sind identisch zu Zeile 130,131, ich hab Zeile 131 auskommentiert
Zeile 122, Sonderzeichen anstelle von Bindestrichen bzw. Minus-Zeichen
Zeile 151, Anstelle von Item.Name nehme benutze ich Item.Alias, sonst laufe ich auf folgenden Fehler "add-MailboxFolderpermission : Der Benutzer "Testuser" wurde in Active Directory gefunden, ihm können aber keine Berechtigungen zugewiesen werden. Versuchen Sie stattdessen ein SMTP-Adresse."
Ein Verbesserungsvorschlag: Feedback in der GUI, wenn die Änderungen durchgeführt wurden.
Ein Fehler: Wenn ich Berechtigungen gesetzt habe, danach ein andere Shared Mailbox auswähle und alle anderen DropDownBoxen unberührt lasse, ist es für das Script, als hätte ich nichts ausgewählt, obwohl ich die Auswahl vom ersten Vorgang noch sehe. Fehlermeldung: "Add-MailboxFolderPermission : Der Parameter "Identity" kann nicht gebunden werden. Der Wert "Shared Mailbox Name:" kann nicht in den Typ
"Microsoft.Exchange.Configuration.Tasks.MailboxFolderIdParameter" konvertiert werden. Fehler: "Die Postfachordneridentität "Shared Mailbox Name:" hat nicht das ordnungsgemäße Format.
Das ordnungsgemäß Format ist wie folgt: ":". ""
Hallo Herr Seifert, danke für die detaillierte Beschreibung der Bugs! Ich habe schon mal das Problem mit den Sonderzeichen behoben. Vielleicht hat Herr Eich irgendwann Zeit und Lust, das Script weiterzuentwickeln und auf Ihre Anregungen einzugehen.