Rufen Sie die nicht abgeschnittenen Active Directory-Gruppen des Benutzers über die Befehlszeile ab

89

Ich benutze oft den net userBefehl, um mir AD-Gruppen für einen Benutzer anzusehen:

net user /DOMAIN <username>

Dies funktioniert gut, jedoch werden die Gruppennamen auf etwa 20 Zeichen gekürzt. Und in meiner Organisation sind die meisten Gruppennamen viel länger.

Kennt jemand eine Möglichkeit, nicht abgeschnittene AD-Gruppen über die Befehlszeile abzurufen?

Ben
quelle
1
Aufgrund des Datums dieser Frage würde ich vermuten, dass das Abschneiden von 20 Zeichen nicht mehr dazu führt, dass beim Ausführen dieses Befehls Gruppen mit größeren Namen zurückgegeben werden. Die Antwort unten whoami /groupsist auch gut. Es werden jedoch nur die aktuell angemeldeten Benutzergruppen aufgelistet. Identitätswechsel und raffinierte Programmierung könnten das allerdings umgehen;)
Richard Barker
2
Lief es für einen Benutzer auf Domain in meiner Organisation; Das Abschneiden von 20 Zeichen ist immer noch ein Problem.
SherlockSpreadsheets
Gute Frage, Aguado!
Bart

Antworten:

-9

Sie können die Ausgabe des Befehls GPRESULT analysieren.

Serialhobbyist
quelle
67
Ohne ein Beispiel ist dies eine nutzlose Antwort
qujck
7
Aber es ist die richtige nutzlose Antwort ... anscheinend.
Warlord 099
Die AD-Gruppen werden nicht angezeigt. Es zeigt eine Menge anderer Dinge, aber nicht die AD-Gruppen.
John Rocha
Leute, zu der Zeit (gefragt und beantwortet im Jahr 2009) war dies möglicherweise der einzige Weg, um tatsächlich das zu tun, was das OP brauchte. Beachten Sie, dass er das Abschneiden nach 20 Zeichen im Gruppennamen erwähnt.
Richard Barker
@ RichardBarker: Die Kürzung erfolgt noch mit NET USER im Jahr 2019.
Ross Presser
107

GPRESULTist der richtige Befehl, kann aber nicht ohne Parameter ausgeführt werden. /voder eine ausführliche Option ist schwierig zu verwalten, ohne auch in eine Textdatei auszugeben. EG empfehle ich zu verwenden

gpresult /user myAccount /v > C:\dev\me.txt- Stellen Sie sicher, dass C: \ Dev \ me.txt vorhanden ist

Eine andere Möglichkeit besteht darin, nur zusammenfassende Informationen anzuzeigen, die im Befehlsfenster vollständig sichtbar sind:

gpresult /user myAccount /r

Die Konten sind unter der Überschrift aufgeführt:

The user is a part of the following security groups
---------------------------------------------------
P.Brian.Mackey
quelle
5
Dieser sollte die Antwort sein
LT
1
Wenn Sie nach einer bestimmten Zeichenfolge suchen, können Sie diese verwenden, findstranstatt die Ausgabe in eine Datei umzuleiten und dann die Datei zu durchsuchen. Zum Beispiel gpresult /user myAccount /r | findstr mySearchString.
Jesse
2
Wenn ich dies für mein Benutzerkonto ausführe, ist es großartig und ich kann die Sicherheitsgruppen sehen. Wenn ich es für ein anderes Benutzerkonto ausführe, gibt der Befehl Folgendes zurück: Der Benutzer "userNameHere" hat keine RSOP-Daten.
SherlockSpreadsheets
59

Ein kleiner abgestandener Posten, aber ich dachte mir, was zum Teufel. Entspricht "whoami" Ihren Bedürfnissen?

Ich habe es heute gerade herausgefunden (aus derselben Google-Suche, die mich tatsächlich hierher gebracht hat). Windows hat seit XP ein Whoami-Tool (Teil eines Add-On-Toolkits) und ist seit Vista integriert.

whoami /groups

Listet alle AD-Gruppen für den aktuell angemeldeten Benutzer auf. Ich glaube, es erfordert jedoch, dass Sie als dieser Benutzer angemeldet sind. Dies hilft also nicht, wenn Ihr Anwendungsfall die Fähigkeit erfordert, den Befehl auszuführen, um einen anderen Benutzer anzusehen.

Nur Gruppennamen:

whoami /groups /fo list |findstr /c:"Group Name:"
Doug
quelle
Ich habe WhoAmImeinen Benutzernamen schon sehr lange verwendet, um HEUTE zu erkennen, dass Sie viel mehr damit anfangen können! Danke dir.
MaYaN
3
Nur Gruppennamen for /f "tokens=1 delims=," %g in ('whoami /groups /fo csv /nh') do @echo "%~g"%%%
auflisten
perfekt! Zögern Sie nicht, neue Antworten auf veraltete Beiträge anzubieten!
Bart
5

Oder Sie könnten dsquery und dsget verwenden :

dsquery user domainroot -name <userName> | dsget user -memberof

So rufen Sie Gruppenmitgliedschaften ab:

Tue 09/10/2013 13:17:41.65
C:\
>dsquery user domainroot -name jqpublic | dsget user -memberof
"CN=Technical Support Staff,OU=Acme,OU=Applications,DC=YourCompany,DC=com"
"CN=Technical Support Staff,OU=Contosa,OU=Applications,DC=YourCompany,DC=com"
"CN=Regional Administrators,OU=Workstation,DC=YourCompany,DC=com"

Obwohl ich keine Beweise dafür finden kann, dass ich dieses Paket jemals auf meinem Computer installiert habe, müssen Sie möglicherweise die Remoteserver-Verwaltungstools für Windows 7 installieren .

Hauptstörung
quelle
1

Viel einfacher in PowerShell:

Get-ADPrincipalGroupMembership <username>

Voraussetzung: Das Konto, unter dem Sie selbst arbeiten, muss Mitglied derselben Domäne wie der Zielbenutzer sein, es sei denn, Sie geben -Credentialund -Server(nicht getestet) an.

Außerdem muss das Active Directory-Powershell-Modul installiert sein, was, wie @ dave-lucre in einem Kommentar zu einer anderen Antwort sagt, nicht immer eine Option ist.

Versuchen Sie nur für Gruppennamen einen der folgenden:

(Get-ADPrincipalGroupMembership <username>).Name
Get-ADPrincipalGroupMembership <username> |Select Name
Ross Presser
quelle
1
Gute Antwort! Das funktioniert, aber ich bin mir nicht sicher, ob es einfacher ist :). Sie müssen das Ergebnis analysieren, um eine Liste der Gruppennamen zu erhalten (ich würde damit erweitern!). Das ist keine Herausforderung für PS-versierte Technikfreaks, aber der Sprung vom DOS-Batch zum PS ist nie einfach!
Hector-J-Rivas
1
@ hector-j-rivas gute Idee, danke
Ross Presser
0

Powershell verwenden: Windows Powershell Arbeiten mit Active Directory

Kurztipp - Bestimmen der Gruppen-AD-Mitgliedschaft mithilfe von Powershell

Mitch Wheat
quelle
1
Sie können dies nicht tun, ohne das Active Directory Powershell-Modul zu installieren (was nicht immer eine Option ist)
Dave Lucre
1
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Aus der Überprüfung
Zulan
@Zulan: Du verschwendest deine Zeit mit einer Antwort, die 7 Jahre alt ist! Nicht nur das, sondern es scheint auch unpassend zu sein, da Sie die akzeptierte Antwort nicht auf die gleiche Weise kommentiert haben.
Mitch Wheat
@MitchWheat: Hast du das bemerkt? From Review Link am Ende seines Kommentars ? Er hat die akzeptierte Antwort nicht kommentiert, weil er bei der Überprüfung nicht darauf gestoßen ist.
Zondo
Ich tat. Ich hätte gedacht, ein Rezensent würde zumindest die akzeptierte Antwort überprüfen.
Mitch Wheat
0

Basierend auf der Antwort von P.Brian.Mackey-- Ich habe versucht, einen gpresult /user <UserName> /rBefehl zu verwenden, aber es schien nur für mein Benutzerkonto zu funktionieren. Für Konten anderer Benutzer habe ich folgendes Ergebnis erhalten : The user "userNameHere" does not have RSOP data.

Also las ich diesen Blog durch - https://blog.thesysadmins.co.uk/group-policy-gpresult-examples.html - und fand eine Lösung. Sie müssen den Computernamen des Benutzers kennen:

gpresult /s <UserComputer> /r /user:<UserName>

Nachdem Sie den Befehl ausgeführt haben, müssen Sie ENTEReinige Male warten, bis das Programm abgeschlossen ist, da es in der Mitte der Ausgabe angehalten wird. Außerdem ergaben die Ergebnisse eine Reihe von Daten, einschließlich eines Abschnitts für " COMPUTER SETTINGS> Applied Group Policy Objects" und dann " COMPUTER SETTINGS> Security groups" und schließlich " USER SETTINGS> security groups" (dies ist das, wonach wir bei den AD-Gruppen suchen, die mit nicht abgeschnittenen Beschreibungen aufgelistet sind!).

Interessant zu bemerken, dass GPRESULT einige zusätzliche Mitglieder hatte, die im Befehl NET USER nicht zu sehen waren. Außerdem stimmt die Sortierreihenfolge nicht überein und ist nicht alphabetisch. Jeder Körper, der mehr Einblicke in die Kommentare hinzufügen kann, wäre großartig.

ERGEBNISSE: gpresult (with ComputerName, UserName)

Aus Sicherheitsgründen habe ich nur einen Teil der Mitgliedschaftsergebnisse aufgenommen. (36 GESAMT, 12 PROBEN)

The user is a part of the following security groups
---------------------------------------------------
..
 Internet Email 
 GEVStandardPSMViewers  
 GcoFieldServicesEditors    
 AnimalWelfare_Readers  
 Business Objects   
 Zscaler_Standard_Access    
..
 GCM    
..
 GcmSharesEditors   
 GHVStandardPSMViewers  
 IntranetReportsViewers 
 JetDWUsers     -- (NOTE: this one was deleted today, the other "Jet" one was added)
..
 Time and Attendance Users  
..

ERGEBNISSE: net user /DOMAIN (with UserName)

Aus Sicherheitsgründen habe ich nur einen Teil der Mitgliedschaftsergebnisse aufgenommen. (23 GESAMT, 12 PROBE)

Local Group Memberships  
Global Group memberships    ...
                             *Internet Email       *GEVStandardPSMViewers
                             *GcoFieldServicesEdito*AnimalWelfare_Readers
                             *Business Objects     *Zscaler_Standard_Acce
                             ...
                             *Time and Attendance U*GCM
                             ...
                             *GcmSharesEditors     *GHVStandardPSMViewers
                             *IntranetReportsViewer*JetPowerUsers
The command completed successfully.
SherlockSpreadsheets
quelle