Hallo zusammen,
ich nutze folgenden Code um eine Liste mit allen AD-Gruppen und deren Mitglieder zu ermitteln.
#Diese Powershell Datei liefert die alle Mitglieder von AD-Gruppen
$data = @()
Get-ADGroup -Filter * | %{
$members = (Get-ADGroupMember $_.SamAccountName -Recursive -EA SilentlyContinue | select -Expand Name) -join ';'
$data += New-Object PSObject -Property @{'Gruppe' = $_.Name;'Mitglieder' = $members}
}
$data |Export-CSV -Path \\sv001\test\'AllGroupMember.txt' -Encoding 'utf8' -NoTypeInformation -Delimiter ';'
das funktioniert auch super, solange in keiner Sicherheitsgruppe ein User einer vertrauten Domäne ist.
Ich habe das mal auf zwei Testgruppen reduziert.
$data = @()
Get-ADGroup -Filter {name -like "*-Test-Gruppe"} | %{
$members = (Get-ADGroupMember $_.SamAccountName -Recursive -EA SilentlyContinue | select -Expand Name) -join ';'
$data += New-Object PSObject -Property @{'Gruppe' = $_.Name;'Mitglieder' = $members}
}
In der 00-TestGruppe sind zwei User: test.User1;test.User2
In der 01-TestGruppe sind drei User: test.User3;test.VertrauterDomUser
Das Ergebnis ist eine Wiederholung des Inhalts von der vorherigen Gruppe.
"Gruppe";"Mitglieder"
"00-Test-Gruppe";"test.User1;test.User2"
"01-Test-Gruppe";"test.User1;test.User2"
Hat Jemand eine Idee wie ich das in den Griff bekomme?
Meine Powershell Kenntnisse sind aber sehr bescheiden.
Gruß
Andreas