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

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

SlainteMhath
SlainteMhath 20.10.2022 um 14:42:21 Uhr
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 20.10.2022 um 15:01:26 Uhr
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 20.10.2022 um 15:19:19 Uhr
Goto Top
Sorry, mein Fehler.
So muss das aussehen:
foreach ($Item in $CSV){ 
  Get-Mailbox $item.spaltenname
}
micneu
micneu 20.10.2022 um 19:44:55 Uhr
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 21.10.2022 aktualisiert um 09:13:24 Uhr
Goto Top
Ja. Genau das ist damit gemeint.
Es hat sich aber geklärt und funktioniert jetzt. Dankeschön für die Hilfe.