Powershell: Gruppenmitglieder auslesen

0

Nachdem ich mal wieder vor der Aufgabe stand, eine Auflistung von Gruppenmitglieder aus dem AD zu extrahieren, welche auch nocht die Gruppennamen enthält, in der die Benutzer Mitglied sind, nachfolgend ein Beispiel inkl. Fortschrittsbalken für ungeduldige Leute 😉

Der DomainController ist in dem Fall dc0001 und es werden alle AD-Gruppen ausgelesen, die mit "Group1…" anfangen.
Das Ergebnis wir anschließend in eine CSV-Datei exportiert, damit diese weiterverarbeitet werden kann.

$server="dc0001"

$Reports=@()
$Groups=Get-ADGroup -Server $Server -Filter * | where {$_.DistinguishedName -like "CN=Group1*"}
$ADGoups = $Groups |Measure-Object
$GroupsToCheck=$ADGoups.Count
$i=1
$Groups| foreach{
   $GroupName=$_.Name

   Write-Progress -Activity "Expanding groups ($i/$GroupsToCheck)" -status "progressing $GroupName" -percentComplete ($i / $GroupsToCheck * 100)
   $Report=$_| Get-ADGroupMember -recursiv | Get-ADUser -Properties *| select @{Name='Group'; Expression={[String]::join(";", $GroupName)}}, SamAccountName,GivenName,Surname,DistinguishedName,EmailAddress
   $Reports=$Reports+$Report
   $i++
}
$Reports| Export-CSV -Delimiter ";" -Path "c:groups.csv"
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten