Die Ermittlung der Zugriffsrechte in Ihrer Exchange Server- oder Microsoft 365-Umgebung kann mitunter mühsam sein. Wenn Sie Postfachberechtigungen überprüfen möchten – beispielsweise um festzustellen, ob jemand Vollzugriff oder die Berechtigung „Senden als“ besitzt – sind PowerShell-Skripte in der Regel die beste Lösung. Das mag zunächst ungewöhnlich erscheinen, ermöglicht Ihnen aber einen schnellen Überblick. Die Einrichtung solcher Skripte kann jedoch schnell komplex werden, insbesondere in großen Organisationen oder bei mehreren Postfachtypen. Daher finden Sie hier eine Übersicht einiger praktischer Skripte, die Sie ausführen können. Diese Skripte habe ich selbst erfolgreich eingesetzt, um die Postfachberechtigungen zu ermitteln, auch wenn sie in großen Umgebungen etwas umständlich oder langsam sind.
Noch ein Hinweis: Wenn Sie Berechtigungen für bestimmte Ordner suchen (z. B.nur für Kalender oder Posteingang), ist das etwas komplizierter. Aber keine Sorge, der gleiche PowerShell-Ansatz lässt sich anpassen. Er ist zwar nicht perfekt, aber deutlich besser, als stundenlang im Admin-Portal herumzuklicken.
So finden Sie heraus, auf welche Postfächer ein Benutzer in Exchange oder Microsoft 365 Zugriff hat
Verwendung von Get-MailboxPermission für vollständige Zugriffsrechte
Zunächst die Grundlagen. Sie möchten sehen, wer Berechtigungen für bestimmte Postfächer hat. Der wichtigste Befehl lautet `exchange-configure` Get-MailboxPermission. Er ist einfach, erfordert aber eine Verbindung zu Ihrer Exchange-Umgebung (lokal oder online).Warum ist das hilfreich? Weil er die direkten Berechtigungen anzeigt, nicht nur Gruppenmitgliedschaften. Sie erhalten einen schnellen Überblick darüber, ob jemand Vollzugriff oder Leseberechtigungen hat. Sie erhalten eine Tabelle mit Benutzernamen, Berechtigungen und der Information, ob diese vererbt oder direkt zugewiesen wurden. Dieser Befehl ist besonders nützlich, wenn Sie manuell vergebene Berechtigungen überprüfen, da die Vererbung von Berechtigungen unter Windows und Exchange oft kompliziert ist.
So sieht es typischerweise aus:
get-mailboxpermission -identity <[email protected]> | ft -AutoSize
Es zeigt die Benutzer und ihre Berechtigungen für das jeweilige Postfach an. Bei manchen Konfigurationen funktioniert es beim ersten Ausführen, bei anderen muss man es möglicherweise erneut ausführen oder PowerShell neu starten (oder eine Weile warten).Warum es manchmal beim ersten Versuch klappt und manchmal nicht, ist unklar, aber das ist die frustrierende Realität solcher Skripte.
Vollständigen Berechtigungsbericht in einer Rasteransicht abrufen
Wenn Sie sich einen Gesamtüberblick verschaffen wollen, führen Sie Folgendes aus:
Get-Mailbox | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_. IsInherited -eq $false} | Out-GridView
Dadurch werden alle Daten in einer übersichtlichen Rasteransicht dargestellt, wobei die standardmäßigen Selbstberechtigungen und vererbten Berechtigungen herausgefiltert werden. Praktisch für schnelle Überprüfungen. Beachten Sie jedoch, dass dies bei einer großen Anzahl von Postfächern etwas dauern kann.
Auffinden von Postfächern, auf die ein Benutzer vollen Zugriff hat
Möchten Sie überprüfen, welche Postfächer ein bestimmter Benutzer vollständig öffnen kann? Dieser Befehl hilft Ihnen dabei:
Get-Mailbox -ResultSize Unlimited | Get-MailboxPermission -User Henrietta | ft User, Identity, AccessRights
Hier wird eine Liste der Postfächer angezeigt, sodass Sie sehen können, ob Henrietta Vollzugriff oder andere Berechtigungen hat. Das ist besonders hilfreich, wenn Sie die Berechtigungen bestimmter Personen überprüfen möchten, beispielsweise im Rahmen von Compliance-Vorgaben oder zur Bereinigung. Manchmal kommen dabei einige Überraschungen ans Licht – etwa, dass Benutzer über mehr Zugriffsrechte verfügen, als ihnen bewusst ist oder zustehen sollte.
Verwendung von Exchange Online PowerShell v3 (EXO V3)
Wenn Sie Microsoft 365 verwenden, macht das neuere EXO V3-Modul das Ganze etwas eleganter. Die Befehle unterscheiden sich geringfügig, das Prinzip bleibt aber gleich. Zum Beispiel:
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission -Identity $_. Identity | Where-Object {$_. User -eq "[email protected]"}
Tipp: Sie können nach Postfachtyp filtern –RecipientTypeDetails. Das beschleunigt die Suche, wenn Sie sich nur für freigegebene Postfächer, Raumpostfächer oder Benutzerpostfächer interessieren. Zum Beispiel so:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Get-MailboxPermission -User "Henrietta" | ft User, Identity, AccessRights
Berechtigungen für „Senden als“ und „Im Auftrag senden“ abrufen
Für SendAs-Rechte versuchen Sie Folgendes:
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | Get-RecipientPermission -Trustee Henrietta
GrantSendOnBehalfToUnd bei „Im Auftrag von senden“ könnten Sie den Benutzer in der Eigenschaft suchen :
Get-Mailbox | ? {$_. GrantSendOnBehalfTo -match "Henrietta"}
So überprüfen Sie die Berechtigungen bestimmter Ordner in Postfächern
Sind die Berechtigungen feiner abgestuft, beispielsweise nur für den Zugriff auf Kalender oder Posteingang, ist das etwas komplizierter. Hier können Sie `add_applications` und `add_applications` verwenden Get-MailboxFolderStatistics.Get-MailboxFolderPermissionStellen Sie sich das wie ein Navigieren durch die Postfachstruktur vor. Das folgende Skript durchsucht alle Postfächer und listet die Ordnerberechtigungen für einen bestimmten Benutzer auf. In großen Organisationen ist das allerdings langsam. Versuchen Sie daher, wenn möglich, gezielt bestimmte Postfächer zu durchsuchen. Denn Exchange macht es einem natürlich unnötig schwer.
$user_find_permissions= "*Henrietta Fischer*" $allpermissions = @() $MBXs = Get-Mailbox -ResultSize Unlimited Foreach ($MBX in $MBXs){ $folders = Get-MailboxFolderStatistics -Identity $MBX. PrimarySmtpAddress foreach ($folder in $folders){ try { $folderPath = "$($MBX. PrimarySmtpAddress):\" + $folder. Name $folderPerms = Get-MailboxFolderPermission -Identity $folderPath -ErrorAction Stop | Where {$_. User -like $user_find_permissions} $allpermissions += $folderPerms } catch { # skipping folders where permissions can't be retrieved Continue } } } $allpermissions | Select Identity, FolderName, User, AccessRights
Dieses Skript gibt alle Ordner (einschließlich Unterordner) aus, auf die der Benutzer Zugriff hat, zusammen mit den Berechtigungsstufen wie „Bearbeiter“ oder „Prüfer“.Es ist sehr hilfreich, wenn detaillierte Prüfungen erforderlich sind, aber beachten Sie, dass es bei großen Postfächern oder vielen Ordnern sehr langsam sein kann.
Für fortgeschrittenere Anforderungen stehen in den neuesten Modulen auch neuere Get-EXOMailboxFolderPermissionCmdlets Get-EXOMailboxFolderStatisticszur Verfügung. Sie sollen schneller und besser integriert sein, weisen aber dennoch einige Eigenheiten auf.
Zusammenfassung
In dieser unübersichtlichen Umgebung ist es oft ein langwieriger Prozess, die Postfachberechtigungen zu verwalten. Diese Skripte sind zwar äußerst hilfreich und fördern die benötigten Informationen zutage, aber sie sind nicht perfekt. Bei großen Installationen oder komplexen Berechtigungskonfigurationen kann es zu Unregelmäßigkeiten kommen. Manchmal ist etwas Geduld gefragt – das erneute Ausführen der Skripte, das Anpassen von Filtern oder das Anmelden mit einem anderen Konto kann helfen. Insgesamt haben diese Methoden jedoch im Vergleich zum manuellen Durchklicken der Berechtigungen viel Ärger erspart.
Zusammenfassung
- Dient
Get-MailboxPermissionzur Anzeige einer schnellen Liste derjenigen, die Zugriff auf ein Postfach haben. - Führen Sie größere Abfragen mit Filteroptionen durch, um
-RecipientTypeDetailsdie Geschwindigkeit zu erhöhen. - Überprüfen Sie die Berechtigungen bestimmter Ordner mit
Get-MailboxFolderPermission, aber rechnen Sie bei großen Datenmengen mit Verlangsamungen. - Fügen Sie einige Filter für Benutzer- oder Postfachtypen hinzu, um die Ergebnisse einzugrenzen.
Zusammenfassung
Im Grunde ist es eine Mischung aus diesen Skripten und etwas gesundem Menschenverstand. Gut geeignet für Audits, Untersuchungen oder Bereinigungen. Manchmal klappt es gleich beim ersten Mal, manchmal braucht es mehrere Durchläufe oder kleinere Datenmengen. Wenn dadurch auch nur ein Update in Gang kommt, ist das schon ein Erfolg. Hoffentlich trägt das dazu bei, einige Unklarheiten zu beseitigen.