Gibt es eine Befehlszeilenmethode zum Auflisten aller Benutzer in einer bestimmten Active Directory-Gruppe?
Ich kann sehen, wer in der Gruppe ist, indem ich zu Computer verwalten -> Lokaler Benutzer / Gruppen -> Gruppen gehe und auf die Gruppe doppelklicke.
Ich brauche nur eine Befehlszeile, um die Daten abzurufen, damit ich einige andere automatisierte Aufgaben ausführen kann.
windows
active-directory
Peter Mortensen
quelle
quelle
dsget group "CN=GroupName,DC=domain,DC=name,DC=com" -members -expand
Sie erhalten die Mitglieder in den verschachtelten Gruppen, obwohl dies bei Duplikaten möglicherweise nicht hilft, und Sie erhalten die vollständige AD-Abfragezeichenfolge für das Mitglied, nicht nur dessen CN.Hier ist ein anderer Weg von der Eingabeaufforderung, nicht sicher, wie automatisierbar, da Sie die Ausgabe analysieren müssten:
Wenn die Gruppe "globale Sicherheitsgruppe" ist:
Wenn Sie nach "Domain Local Security Group" suchen:
quelle
net user /domain
). Vielen Dank!Hier ist eine Version des Befehls ds, die ich eher nützlich fand, insbesondere, wenn Sie eine komplexe OU-Struktur haben und nicht unbedingt den vollständigen definierten Namen der Gruppe kennen.
oder wenn Sie den CN der Gruppe kennen, normalerweise derselbe wie die SAM-ID, angegeben für den Fall, dass der Name Leerzeichen enthält:
Wie in den Kommentaren angegeben, sind die ds * -Befehle (dsquery, dsget, dsadd, dsrm) standardmäßig nur auf einem Domänencontroller verfügbar. Sie können jedoch die Admin Tools packen aus dem Support Tool auf dem Windows Server - Installationsmedium installieren oder es herunterladen von der Microsoft Download - Website.
Sie können diese Abfragen auch mit PowerShell ausführen. PowerShell ist bereits als installierbare Funktion für Server 2008, 2008 R2 und Windows 7 verfügbar. Sie müssen jedoch das WinRM-Framework herunterladen , um es unter XP oder Vista zu installieren.
Um auf AD-spezifische Cmdlets in PowerShell zugreifen zu können, müssen Sie AUCH mindestens eine der folgenden Installationen ausführen:
quelle
Versuchen Sie Folgendes für eine PowerShell-Lösung, für die das Quest AD-Add-In nicht erforderlich ist
Dadurch werden auch die verschachtelten Gruppen aufgelistet. Wenn Sie dies nicht möchten, entfernen Sie den rekursiven Schalter.
quelle
Ein sehr einfacher Weg, der auf Servern und Clients funktioniert:
Gibt 1 zurück, wenn sich der Benutzer in der Gruppe YOURGROUPNAME befindet, andernfalls wird 0 zurückgegeben
Sie können dann den Wert% ERRORLEVEL% verwenden (0, wenn Benutzer in Gruppe, 1, wenn nicht)
quelle
whoami /groups | find /I /C "YOURGROUPNAME"
Mit der kostenlosen ActiveRoles-Verwaltungsshell von PowerShell und Quest Software für Active Directory können Sie Folgendes verwenden:
(Get-QADGroup "GroupName"). Mitglieder
http://www.quest.com/powershell/activeroles-server.aspx
quelle
Die Antworten hier mit
dsget
unddsquery
funktionieren nur auf Serverversionen von Windows, da diese Befehle nicht auf anderen Windows-Versionen (z. B. Windows 7) ausgeliefert werden. Auf Computern ohne diese Befehle können Sie die gewünschten Informationen mit dem AdFind-Befehl abrufen .Hier ist eine Beispielabfrage zum Abrufen der Gruppenmitgliedschaft:
quelle
Wie liste ich lokale Gruppen und Benutzer auf?
Verwenden Sie das folgende Powershell-Skript, um die lokalen Gruppen und Mitglieder dieser Gruppen aufzulisten.
Kopieren Sie den obigen Text in den Editor und speichern Sie ihn unter
filename.ps1
. Führen Sie dann die Datei aus. Ich sollte die Gruppen und Benutzer in jeder Gruppe anzeigen, oder Sie können dies einfach von Powershell ausführen.quelle
cmdlet ForEach-Object at command pipeline position 1. Supply values for the following parameters:
und frage dann nach Eingabe,Process[0]
Für Anzeigemitglieder des
UserGroup1
Versuchs:quelle
cmd
irgendeinem Grund nicht allzu gut funktionieren .dsget failed:'Target object for this command' is missing.