Frage Rufen Sie die Liste der AD-Gruppen ab, zu denen ein Benutzer gehört


Angenommen, ich habe die Benutzer-ID eines Benutzers in Active Directory. Ich möchte eine Liste aller AD-Gruppen erhalten, in denen der Benutzer derzeit Mitglied ist. Wie kann ich dies über die Windows-Befehlszeile tun?

Ich habe folgendes versucht:

dsget user "DC=jxd123" -memberof

Error:

dsquery failed:'-memberof' is an unknown parameter.
type dsquery /? for help.

45
2017-08-19 18:42


Ursprung


Sie werden sicherlich keinen Fehler für Dsquery erhalten, wenn Sie dsget ausführen. Kopieren und Einfügen fehlgeschlagen? - mfinni
FYI, fand die selbe Frage auf StackOverflow mit ein paar mehr Antworten. - Nic


Antworten:


Sie können dies in PowerShell ziemlich einfach tun. Ich bin mir sicher, dass Sie es auch mit den ds-Tools tun können, aber sie sind alt und knusprig und PowerShell sollte für alles mögliche heutzutage verwendet werden.

Import-Module ActiveDirectory
(Get-ADUser userName –Properties MemberOf | Select-Object MemberOf).MemberOf

28
2017-08-19 18:47



Ich habe PowerShell heruntergeladen und habe jetzt eine * .msu-Datei. Wie installiere ich es mit der * .msu-Datei? - MacGyver
Auf welchem ​​Betriebssystem sind Sie? PowerShell ist in etwas Neuem als XP eingebaut und steht XP als optionales Windows Update zur Verfügung. - MDMarra
Windows XP .. Meine Firma ist langsam: - \ - MacGyver
Dann haben Sie das falsche Installationsprogramm heruntergeladen. Außerdem endet die XP-Unterstützung in nur knapp einem Jahr. Bring Upgrades in Bewegung! microsoft.com/en-us/windows/endofsupport.aspx - MDMarra
Get-ADPrincipalGroupMembership Dies ist eine weitere Möglichkeit, dies in PowerShell zu tun. - Nic


Oder mit dem Internetbenutzer Befehl...

net user /domain username

69
2017-08-19 18:58



Ich mag die Einfachheit, die einige der "alten" DOS-Befehle bieten. Und sie waren schon immer da, selbst wenn du PoSH nicht auf eine alte Maschine geladen hast, kommt DOS zur Rettung! Danke für das Posten. - Jeff Moden
Dies gibt nur explizite, aber nicht implizite Gruppenmitgliedschaften zurück. - Elias Probst
Slick-Befehl, ABER, die Gruppennamen in der Ausgabe sind auf 21 Zeichen gekürzt ... :-( - t0r0X
Ja, es gibt Einschränkungen. Verschachtelte Gruppenmitgliedschaften werden nicht angezeigt und Sie haben Recht, die Ausgabe wird abgeschnitten. Zu Letzterem hatte ich freilich nicht Stellung genommen. - Jack
Hat gut funktioniert, aber warum sollte es abgeschnitten werden? Gibt es eine Config / Parameter, die für den vollständigen Gruppennamen hinzugefügt werden kann? - ThinkCode


Eine einzige Zeile, keine Module erforderlich, verwendet den aktuell angemeldeten Benutzer $ ($ env: username), der von anderen Windows-Rechnern läuft:

(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf

Qudos zu diesem VBS / Powershell-Artikel: http://technet.microsoft.com/en-us/library/ff730963.aspx


27
2018-05-13 09:42



Sehr gute Lösung, die einzige, die für mich funktionierte, ohne zusätzlichen Software zu installieren! Vielen Dank! - t0r0X
+1 für die Arbeit an einem eingeschränkten System ohne zusätzliche Software! - Saustrup


Gefunden eine gute Ressource:

http://social.technet.microsoft.com/wiki/contents/articles/2195.active-directory-dsquery-commands.aspx

So geht's mit der Windows-Eingabeaufforderung:

dsquery user -samid jxd123 | dsget user -memberof | dsget group -samid

8
2017-08-19 18:56





Power Shell:

Get-ADPrincipalGroupMembership -Identity jdoe | Format-Table -Property name

6
2018-04-15 03:50





Wenn Sie Ihre eigenen Gruppen sehen müssen, gibt es whoami /groups:

Zeigt die Benutzergruppen an, zu denen der aktuelle Benutzer gehört.

Der Vorteil dieses Befehls ist vorbei net user /domain username ist, dass implizite Gruppenmitgliedschaften auch mit angezeigt werden whoami.


6
2018-01-29 11:04



Beste Lösung. Upvoted. Kurz und bündig. Wird nicht abgeschnitten. Persönlich mag ich am besten das LIST-Format, d.h. whoami /groups /fo listweil es am leichtesten mit dem Auge zu lesen ist. - peterh


Ein anderer Ansatz: ein PowerShell-Skript, das alle impliziten Gruppenmitgliedschaften aus dem Windows-Kontotoken auflistet. Funktioniert auf einem eingeschränkten System.

$token = [System.Security.Principal.WindowsIdentity]::GetCurrent() 
ForEach($group in $token.Groups){
    $group.Translate([System.Security.Principal.NTAccount])
}

4
2018-03-02 11:37





dsquery user -samid "user id" | dsget user -memberof > userid_memberof.txt

3
2017-08-20 10:24





$ADUser = Read-Host "Provide the AD User account"
Get-ADPrincipalGroupMembership -Identity $ADUser | Sort-Object name | Format-Table -Expand name

2
2018-06-22 19:56





AdFind ist ein weiteres großartiges Werkzeug für diese Art von Sache. Es ist ein kostenloses Tool von MVP Joe Richards

http://www.joeware.net/freetools/tools/adfind/

Sie können einen der Shortcuts verwenden

adfind -sc u:username memberof

2
2017-08-20 14:38





Diese PowerShell-Version gibt nur die AD-Gruppennamen und nicht den DN der Gruppe zurück. Die 'Select-Objekt'-Ausgabe kann einfach an eine CSV- oder Testdatei weitergeleitet werden.

(Get-ADUser ExampleUser –Properties MemberOf).memberof | Get-ADGroup | Select-Object name


1
2017-08-31 14:53