Tags: Exchange, Rechteverwaltung, PowerShell
Gerade bei größeren Ordnerstrukturen ist das Rechte-Management mit der Web-Konsole umständlich und langsam. Exchange 2016 bringt daher wie seine Vorgänger eigene PowerShell-Scripts für solche Aufgaben mit. Sie können Benutzerberechtigungen für ganze Hierarchien hinzufügen oder entfernen.
Beim täglichen Arbeiten mit öffentlichen Ordnern musste ich regelmäßig die Erfahrung machen, dass in tiefen Ordnerhierarchien das Ändern von Berechtigungen und der Vererbung nicht richtig funktioniert. Ab und an kommt es auch vor, dass die Konsole in einen Timeout läuft und mit einem Fehler beendet wird.
Mitgelieferte Scripts für Rechte-Management nutzen
Bei einem Abbruch der Operation werden erwartungsgemäß nicht alle Ordner mit der passenden Berechtigung versehen. Besonders ärgerlich ist es, wenn Berechtigungen entzogen werden sollen und auch dies nicht zuverlässig funktioniert.
Hier ist die Exchange-PowerShell zu empfehlen, die mit diese Aufgabe deutlich besser zurechtkommt als die Web-Konsole. Exchange 2016 bringt zu diesem Zweck ein paar zusätzliche Bordmittel mit, um die Berechtigungen mit der Exchange-Verwaltungskonsole zu administrieren.
In der Exchange-PowerShell navigieren Sie dazu mit
cd "$env:ProgramFiles\Microsoft\Exchange Server\V15\Scripts"
in das Script-Verzeichnis.
Berechtigungen hinzufügen
Um einen Benutzer Berechtigungen geben zu können, brauchen wir dort das Script AddUserToPFRecursive.ps1:
.\AddUsersToPFRecursive.ps1 -TopPublicFolder "\Contoso" `
-User "max.mustermann" -Permissions {Owner}
Der TopPublicFolder ergibt sich aus der Ordnerstruktur und kann in der Web-Konsole eingesehen werden.
In unserem Beispiel bekommt der Benutzer Max Mustermann jetzt die Berechtigungen von Owner (= Besitzer) auf den Ordner Contoso und alle Unterordner. Zudem listet PowerShell recht schön auf, wo überall Berechtigungen gesetzt werden.
Folgende Berechtigungen können vergeben werden:
- Stufe 1 = Contributor
- Stufe 2 = Reviewer
- Stufe 3 = NonEditingAuthor
- Stufe 4 = Author
- Stufe 5 = PublishingAuthor
- Stufe 6 = Editor
- Stufe 7 = PublishingEditor
- Stufe 8 = Owner
Zugriffsrechte entziehen
Entfernt werden können Berechtigungen mit folgendem Befehl:
.\RemoveUserFromPFRecursive.ps1 -TopPublicFolder "\Contoso\Abteilung A" `
-User "max.mustermann"
Wir haben nun Max Mustermann die Berechtigungen für den Ordner Abteilung A und alle darunter liegenden Ordnern entzogen.
Alle Zugriffsrechte in parallelen Ordnern, wie Ablage B in unserem Beispiel, bleiben wie gewünscht erhalten.
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
- Namen und Größe der Ordner im Exchange-Postfach anzeigen mit PowerShell
- Neue Kalenderfunktionen in Exchange 2019: Besprechungen entfernen, Integration mit Abwesenheitsassistent
- Adressbücher in Exchange Online anlegen und pflegen
- Ordner freigeben mit PowerShell
Weitere Links
1 Kommentar
Danke für die Anleitung. Wenn ich das Skript ausführe bekomme ich die Meldung:
"Cannot process argument transformation on parameter 'Identity'. Cannot convert the "Ordnername" value of type "Deserialized.Microsoft.Exchange.Data.Storage.Management.PublicFolder" to type "Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter".