[PowerShell] Email-Group-Memberships of ADUser
daisho 14.07.2022 - 08:06 3419 7
daisho
SHODAN
|
Hat von euch zufällig schon jemand ein PowerShell Script (oder Befehl) dazu herumliegen? [in welchen Email-Verteilern ist User XYZ] Optional schreibt's das gleich in ein CSV oder so zum auswerten.
Ich vermute man braucht dazu die Exchange Management Shell Tools, und es geht vermutlich um "Distribution Groups"? Wenn nicht werde ich mir das bei Gelegenheit mal Googlen.
|
daisho
SHODAN
|
Hm, man muss dafür scheinbar in eine lokale Exchange Management Shell oder in eine solche Session. Wenn ich das mit Office365.com direkt mache ($Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ ...) dann ist eine Suche via Get-Distribution... commands oder gar foreach Schleifen super langsam und wird wohl nie enden bzw. nicht in einem vernünftigem Zeitrahmen.
|
UnleashThebeast
Mr. Midlife-Crisis
|
Theoretisch gehts auch ohne einer Exchange Management Shell, kommt aber auch aufs Environment drauf an und ob die AD user wirklich brav in Distributiongroups im AD sind. Bin grad im Urlaub, wenn bis Montag keiner schneller is kann ich dir a fertiges Codesnippet posten, das ich auch für sowas hab.
|
hynk
Super Moderatorlike totally ambivalent
|
Du kannst dieses Modul verwenden um auch aus der lokalen Shell auf den Online Exchange zu kommen: https://docs.microsoft.com/en-us/po...iew=exchange-psVielleicht funktionierts mit dem Snippet von hier: $Mailbox=get-Mailbox [email]user@domain.com[/email]
$DN=$mailbox.DistinguishedName
$Filter = "Members -like ""$DN"""
Get-DistributionGroup -ResultSize Unlimited -Filter $Filter
Zum ausgeben in ein File kannst es ja dreckig über Get-Transcript machen, wenns dir der Inhalt der File nicht wichtig ist. Ansonsten über Select-Object und Export-Csv. Das Script hier geht zwar in eine andere Richtung von der Anforderung her, aber könnte man denke ich für deine Zwecke missbrauchen. Hab nichts zur Verfügung wo ich dir das gerade testen könnte
|
daisho
SHODAN
|
Das hat ziemlich gut geklappt mit dem EOM tool: Install-Module ExchangeOnlineManagement Connect-ExchangeOnline
Die Liste zeigt mir allerdings sehr wenige Einträge an. Für meinen eigenen Account stehen da 4 Einträge, habe lt. Outlook Client (als "Memberships") allerdings 12 (und da sind auch welche dabei die nicht verschachtelt sind sondern wo ich direkt in der Gruppe stehe.
/Edit: Ich probiere mal das zweite Script, das checked scheinbar alle SMTP Adressen der Groups.
Bearbeitet von daisho am 14.07.2022, 10:57
|
mr.nice.
differential image maker
|
Es ist übrigens eine durchaus wertvolle Information, ob eine DistributionGroup nur das, oder auch eine MailUniversalSecurityGroup ist. Dank -RecipientType im Script von Ali Tajran ist das eh gut abgedeckt.
Bearbeitet von mr.nice. am 14.07.2022, 11:24
|
hynk
Super Moderatorlike totally ambivalent
|
Ich würd auch auf eine Verschachtelung tippn, aber wenns das nicht ist, dann keine Ahnung. Möglicherweise andere Gruppentypen?
|
daisho
SHODAN
|
Das zweite Script ist schon mal super weil es einfach alles durchforstet und ein CSV erstellt mit sämtlichen Einträgen. Leider zeigt das bei mir z.B. auch nur dieselben 4 Einträge an. Vielleicht sind die anderen "Memberships" keine DistributionGroups, idk. Vielleicht weiß die IT da mehr, ich hab da leider nicht all zu viel Zeit zum reinstecken (ist nicht für mich oder meine Arbeit).
|