PowerShell-Befehle zur automatischen Verwaltung von Postfachberechtigungen in Exchange
- Verbinden mit Exchange oder Exchange Online
- Postfachberechtigungen abfragen
- Postfachberechtigungen erteilen
- Postfachberechtigungen entfernen
- Automatisierung und Skripterstellung
- Zusammenfassung
Die Verwaltung von Postfachberechtigungen in Exchange lässt sich mit PowerShell-Befehlen effizient automatisieren. Dafür verwendet man in der Regel das Exchange Management Shell (EMS) oder die Exchange Online PowerShell Module, je nachdem ob es sich um eine On-Premises Exchange Installation oder Exchange Online (Microsoft 365) handelt.
Verbinden mit Exchange oder Exchange Online
Für die Arbeit mit Postfachberechtigungen ist zuerst eine Verbindung zur Exchange Umgebung notwendig. Bei einer On-Premises Installation verwendet man meist die Exchange Management Shell, die standardmäßig bereits die erforderlichen Module geladen hat. Bei Exchange Online verbindet man sich über ein PowerShell-Modul mit folgenden Befehlen:
Import-Module ExchangeOnlineManagementConnect-ExchangeOnline -UserPrincipalName benutzer@domain.deDadurch erhält man eine authentifizierte Session, über die alle weiteren Befehle ausgeführt werden können.
Postfachberechtigungen abfragen
Um aktuelle Berechtigungen auf einem Postfach anzuzeigen, benutzt man den Befehl Get-MailboxPermission. Zum Beispiel:
Get-MailboxPermission -Identity "Max.Mustermann"Dieser Befehl listet alle Benutzer auf, die Rechte an dem Postfach von Max Mustermann besitzen, und zeigt die Art der Berechtigung (z.B. FullAccess, ReadPermission).
Postfachberechtigungen erteilen
Um einem Benutzer Vollzugriff (Full Access) auf ein Postfach zu geben, ist der Befehl Add-MailboxPermission das Werkzeug der Wahl. Beispiel:
Add-MailboxPermission -Identity "Max.Mustermann" -User "sabine.sommer" -AccessRights FullAccess -InheritanceType AllDieser Befehl setzt voraus, dass der Benutzer "sabine.sommer" die Berechtigung erhält, auf das Postfach von Max Mustermann zuzugreifen.
Ebenso kann man Rechte für das Senden als jemand anderes (Send-As) oder im Auftrag (Send-On-Behalf) mit den Befehlen Add-RecipientPermission oder Set-Mailbox verwalten.
Postfachberechtigungen entfernen
Möchte man einem Benutzer die Zugriffsrechte auf ein Postfach entziehen, verwendet man Remove-MailboxPermission. Zum Beispiel:
Remove-MailboxPermission -Identity "Max.Mustermann" -User "sabine.sommer" -AccessRights FullAccessAuch hier ist es wichtig, den korrekten Zugriffstyp anzugeben.
Automatisierung und Skripterstellung
Die oben genannten Befehle lassen sich hervorragend in PowerShell-Skripte integrieren, um die Postfachberechtigungen automatisiert zu verwalten. Beispielsweise kann man eine CSV-Datei mit Benutzernamen und gewünschten Berechtigungen einlesen, eine Schleife über die Einträge ausführen und auf Basis der Daten die entsprechenden Add-MailboxPermission- oder Remove-MailboxPermission-Befehle ausführen.
Folgendes Beispiel zeigt, wie Berechtigungen aus einer CSV-Datei hinzugefügt werden können:
$permissions = Import-Csv -Path "C:\Berechtigungen.csv"foreach ($entry in $permissions) { Add-MailboxPermission -Identity $entry.Postfach -User $entry.Benutzer -AccessRights FullAccess -InheritanceType All}Solche Skripte können als Task oder bei Bedarf aus einem zentralen Verwaltungssystem heraus ausgeführt werden, um die Berechtigungen aktuell zu halten.
Zusammenfassung
Die zentralen PowerShell-Befehle für die automatische Verwaltung von Postfachberechtigungen in Exchange sind Get-MailboxPermission, Add-MailboxPermission und Remove-MailboxPermission. Eine Verbindung zur Exchange-Umgebung wird mit Connect-ExchangeOnline oder der Exchange Management Shell hergestellt. Durch Integration dieser Befehle in PowerShell-Skripte lässt sich die Verwaltung effizient und automatisiert durchführen.