maiksv
Goto Top

Zugriffsrechte für Postfächer aus Exchange Online rausfinden

Hallo Allerseits,

Vorab einmal. Ich bin relativ neu was PowerShell angeht, daher verzeiht mir bitte falls das hier eine blöde Frage ist.

Mein Problem sieht folgendermaßen aus. Ich soll die Zugriffsrechte von einzelnen Postfächern(z.B "Senden Als", "Vollzugriff" und "Senden im Namen von") aus Exchange Online auslesen. Dazu habe ich erstmal eine CSV mit den gewünschten Postfächern erstellt. In PowerShell habe ich dann mit dem Connect-Exchange Online Befehl mich mit Exchange Online verbunden. Jetzt kommt das Problem: Wenn ich versuche mit einer foreach Schleife die CSV durch zu arbeiten, dann greift sich diese Funktion wirklich alles, aber nicht die CSV die ich ihm gegeben habe.
Mein Versuch sieht so aus:
Ich habe zuerst einmal die CSV importiert...
$CSV = Import-Csv C:\Users\.... (der Path stimmt, denn wenn ich sie importiere wird sie mir auch in PowerShell angezeigt)
Dann die Schleife...
foreach ($Item in $CSV){
Get-Mailbox | Where-Object {$_.GrantSendOnBehalfTo -ne $null} | fl DisplayName,Alias,Identity,GrantSendOnBehalfTo,UserPrincipalName
} $item
Wenn ich das jetzt ausgeben lasse, dann kommen einfach irgendwelche willkürlichen Mailboxen raus, welche Garnichts mit der ursprünglichen CSV zu tun haben.
Das Problem, warum mir Google grade nicht weiter helfen kann ist, weil ich nicht weiß wonach ich suchen soll.
Ich persönlich gehe davon aus, dass es was mit dem Get-Mailbox Befehl zu tun hat.
Ich weiß aber leider nicht was anstelle dessen dahin kommen könnte.
Ich habe jetzt wirklich alles was ich irgendwo finden konnte versucht, weiß jetzt aber auch nicht mehr weiter.

Ich wäre wirklich für jede Hilfe dankbar.
Mfg
Maik

Content-ID: 4345001609

Url: https://administrator.de/contentid/4345001609

Printed on: December 3, 2024 at 08:12 o'clock

SlainteMhath
SlainteMhath Oct 20, 2022 at 12:42:21 (UTC)
Goto Top
Moin,

bitte verwende doch Code-Tags, das macht dein PS besser lesbar.

Und dann setzt das $Item direkt hinter Get-Mailbox, dann klappt das auch face-smile

lg,
Slainte
MaikSV
MaikSV Oct 20, 2022 at 13:01:26 (UTC)
Goto Top
Was genau soll ich denn dann als Argument bei Identity angeben.
Es sag:
"Fehlendes Argument für den Parameter "Identity". Geben Sie einen Parameter vom Typ "System.Object" an, und versuchen Sie es erneut."
SlainteMhath
SlainteMhath Oct 20, 2022 at 13:19:19 (UTC)
Goto Top
Sorry, mein Fehler.
So muss das aussehen:
foreach ($Item in $CSV){ 
  Get-Mailbox $item.spaltenname
}
micneu
micneu Oct 20, 2022 at 17:44:55 (UTC)
Goto Top
Moin @MaikSV,

Was meinst du mit "Exchange Online"?
Ist damit Microsoft 365 in der Cloud gemeint?

Dort nutzen wir eine Python3 Library und fragen solche Daten ab
github.com/O365/python-o365

Gruß Michael
MaikSV
MaikSV Oct 21, 2022 updated at 07:13:24 (UTC)
Goto Top
Ja. Genau das ist damit gemeint.
Es hat sich aber geklärt und funktioniert jetzt. Dankeschön für die Hilfe.