Es gibt Situationen, wo es wichtig ist die Gruppen-Mitglieder einer Active Directory-Gruppe auszulesen. Häufig werden weitere Daten benötigt. Zum Beispiel werden Mail-Adressen zum Versand von Informationen benötigt. Dazu habe ich ein Skript erstellt.
import-module activedirectory [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null $groupname = [Microsoft.VisualBasic.Interaction]::InputBox("Bitte AD-Gruppe eingeben", "AD-Gruppe") $Domaincontroller = "LAB-DC1.demo.local" $Folder = [System.Environment]::GetFolderPath("MyDocuments") $Exportfile = $Folder + "\" + $groupname + ".csv" $Parameter ="name, mail, samaccountname" $Gruppe = Get-ADGroupMember $groupname -server $Domaincontroller | Select distinguishedName $Gruppe | ForEach { Get-ADUser $_.distinguishedName -server $Domaincontroller -Properties * | Select-object $Parameter} | export-csv $Exportfile -notypeinformation -encoding UTF8
Als Voraussetzung für die Programmzeilen sind die „Active Directory Module for Windows PowerShell“ der „Remote Server Administrator Tools“. Diese müssen nach Installation der passenden MSI über „Programme und Features“ aktiviert werden. Anschließend sollte noch der Domänencontroller im Ablauf angepasst werden.
Zur Abfrage wird ein kleines GUI-Fenster geöffnet in dem der benötigte Gruppenname eingetragen wird. Anschließend wird eine Liste im Dokumente-Ordner des ausführenden Benutzers erstellt. Diese enthält in dieser Ausführung die Namen, Mail-Adressen und Anmeldenamen der Mitglieder.