Hallo!
Gibt es eine einfache Methode um einen User bzw. seine Berechtigungen aus allen Postfächern zu entfernen?
Bei uns gibt es mehrere Funktionspostfächer und auf diese haben jeweils mehrre User Zugriff.
Da wir aber leider keine Übersich darüber haben, welcher User auf welche Postfächer Zugriff hat und man das im EAC leider nicht sehen kann, würde ich dieses gerne mit z.B. einem Powershell-Befehl lösen.
Gibt es da Möglichkeiten?
Ja und Google bringt bestimmt einige Ansätze. ;)
Ja und Google bringt bestimmt einige Ansätze. ;)
Wow. Was für eine hilfreiche Antwort. Wenn ich bei Google etwas gefunden hätte, würde ich hier nicht fragen. Aber man kann Foren natürlich komplett überflüssig machen, wenn man immer allers ergooglen kann. Gut dass es solceh Forenmitglieder wie dich gibt, die einem so selbstlos und schnell weiterhlefen können.
Wow du hast bestimmt echt hart gesucht:
https://www.brainshrain.com/post/get-the-list-all-the-mailboxes-to-which-a-user-has-access
https://practical365.com/list-users-access-exchange-mailboxes/
aber Hauptsache wieder die anderen sind schuld.
bitte gern geschehen. ;)
Das Problem ist jetzt, dass mir rausgeschmissen wird, das nur die ersten 1000 Elemente zurückgegeben werden. Wenn ich z.B.
Get-Mailbox ? {$_.GrantSendOnBehalfTo -match "max.mustermann"}
eingebe kommt die Meldung. Ich wähle ja ein bestimmtes Postfach bzw. einen bestimmten User. Wie kann er dann so eine Meldung rausschmeissen? Auch ein
-ResultSize unlimited
hilft nicht. Dann arbeitet er relativ lange und gibt nichts aus.
Wäre vielleicht hilfreich, wenn du verständlich hinschreibst, was du tust und nicht davon ausgehst, dass man hier als Leser sofort wüßte, warum bei dir Fehler aufteten.
ein
get-mailbox -resultsize unlimited | ? {$_.GrantSendOnBehalfTo -match "max.mustermann"}
funktioniert bei mir. Natürlich in meinem Fall steht dort nicht max.mustermann sondern "Max Mustermann". ;)
Wäre vielleicht hilfreich, wenn du verständlich hinschreibst, was du tust und nicht davon ausgehst, dass man hier als Leser sofort wüßte, warum bei dir Fehler aufteten.
ein
get-mailbox -resultsize unlimited | ? {$_.GrantSendOnBehalfTo -match "max.mustermann"}funktioniert bei mir. Natürlich in meinem Fall steht dort nicht max.mustermann sondern "Max Mustermann". ;)
Ich gebe den obigen Befehl ein. Was daran unverständlich ist, weiß ich nicht.
Ich vermute ja, dass es an der Umgebung liegt. Auf dem Server bzw. den Servern sind 15.000 Postfächer.
Ich gebe den obigen Befehl ein. Was daran unverständlich ist, weiß ich nicht.
Na dann nimm dir doch einfach mal ein Postfach, von dem du weißt, dass dort jemand dieses Recht hat. Und dann versuche doch erstmal für _dieses eine_ Postfach ein Ergebnis zu erhalten. Vielleicht ist ja max.mustermann die falsche syntax.
Ich gebe den obigen Befehl ein. Was daran unverständlich ist, weiß ich nicht.
Na dann nimm dir doch einfach mal ein Postfach, von dem du weißt, dass dort jemand dieses Recht hat. Und dann versuche doch erstmal für _dieses eine_ Postfach ein Ergebnis zu erhalten. Vielleicht ist ja max.mustermann die falsche syntax.
Genau das habe ich gemacht und die falsche Syntax ist es auch nicht.
Genau das habe ich gemacht und die falsche Syntax ist es auch nicht.
Und bei dem einen Postfach kam auch ein Ergebnis? Ich möchte mal drauf hinweisen, dass ich hier weder hellsehen kann. Vielleicht magst du deine Antworten etwas ausführlicher formulieren, was du getan hast und was geht bzw. nicht geht?
Genau das habe ich gemacht und die falsche Syntax ist es auch nicht.
Und bei dem einen Postfach kam auch ein Ergebnis? Ich möchte mal drauf hinweisen, dass ich hier weder hellsehen kann. Vielleicht magst du deine Antworten etwas ausführlicher formulieren, was du getan hast und was geht bzw. nicht geht?
Wenn ich eine normale Abfrage wie z.B.
get-mailbox -identity "Max.Musterman"
mache, bekomme ich auch Daten. Sobald ich Berechtigungen abfragen möchte, kommt die Meldung "WARNUNG: Standardmäßig werden nur die ersten 100 Elemente zurückgegeben..."
Oder auch bei
Get-Mailbox | Get-MailboxPermission -User Max.Mustermann
Sobald ich Berechtigungen abfragen möchte, kommt die Meldung "WARNUNG: Standardmäßig werden nur die ersten 100 Elemente zurückgegeben..."
Oder auch bei
Was ja logisch ist, denn beim ersten kommt ja nur ein Ergebnis zurück per Definition.
Ich kann dir versichern, dass bei einer Umgebung mit ca. 10.000 Postfächern folgender Befehl Ergebnisse zurückbringt. Natürlich weißt du dann noch nicht, wer die Berechtigungen hat, aber du weißt immerhin schonmal welche Mailboxen du untersuchen mußt.
get-mailbox -resultsize unlimited | ? {$_.GrantSendonBehalfTo -ne $null}
Noch ein Link dazu:
https://www.slipstick.com/exchange/find-users-send-behalf-permission/
Egal welchen User ich nehme, es kommt immer die "1000er"-Warnung.
Bei
get-mailbox -resultsize unlimited | ? {$_.GrantSendonBehalfTo -ne $null}
bekomme ich ein Ergebnis.
Aber auch die Postfächer die zu meiner OU gehören lassen sich nicht abfragen. Auch hier kommt die Warnmeldung
bekomme ich ein Ergebnis.
Aha. Und wo bekommst du keins? Ganz ehrlich, man liest hier und denkt sich... kann "der" nicht mal ausführlich schreiben? Wenn das zuviel verlangt sein sollte...
Probiere es mal mit folgenden Befehlen:
Zum Herausfinden, auf welche Postfächer der Benutzer "max.mustermann" die Zugriffsrechte "Senden Als" hat:
Get-Mailbox -ResultSize Unlimited | Get-RecipientPermission -Trustee max.mustermann | select identity
Und für die Vollzugriffsrechte:
Get-Mailbox -ResultSize unlimited | Get-MailboxPermission -User max.mustermann | select identity
Die "1000er-Meldung" solltest du eigentlich nur bekommen, wenn du das "-ResultSize Unlimited" weglässt.
Die Suche lässt sich zudem noch einschränken, wenn du den Parameter "-RecipientTypeDetails" verwendest.
Bspw. um nur "Benutzerpostfächer" auszugeben, auf die der Benutzer "max.mustermann" Vollzugriffsrechte hat, würde der Befehl wie folgt lauten:
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize unlimited | Get-MailboxPermission -User max.mustermann | select identity