it-swarm.com.de

Liste der AD-Gruppen abrufen, 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 dieser Benutzer derzeit Mitglied ist. Wie kann ich dies über die Windows-Befehlszeile tun?

Ich habe folgendes versucht:

dsget user "DC=jxd123" -memberof

Fehler :

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

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

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

Kürzere Version

(Get-ADUser userName –Properties MemberOf).MemberOf
37
MDMarra

Oder mit dem Befehl Net User ...

Net User /domain username
86
Jack

Eine einzelne Zeile, keine Module erforderlich, verwendet den aktuell protokollierten Benutzer $ ($ env: Benutzername) und wird von anderen Windows-Computern ausgeführt:

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

Fragen zu diesem vbs/Powershell-Artikel: http://technet.Microsoft.com/en-us/library/ff730963.aspx

40
Canoas

Eine gute Ressource gefunden:

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

So geht's über die Windows-Eingabeaufforderung:

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

Power Shell:

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

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 gegenüber Net User /domain username ist, dass implizite Gruppenmitgliedschaften auch mit whoami angezeigt werden.

8

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])
}
6
ofthelit
dsquery user -samid "user id" | dsget user -memberof > userid_memberof.txt
3
Vibhat

adfind ist ein weiteres großartiges Tool für solche Dinge. Es ist ein kostenloses Tool von MVP Joe Richards

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

Sie können eine der Verknüpfungen verwenden

adfind -sc u:username memberof
2
Mike Kline
$ADUser = Read-Host "Provide the AD User account"
Get-ADPrincipalGroupMembership -Identity $ADUser | Sort-Object name | Format-Table -Expand name
2
Bill Ou

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

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

1
Nicholas Leader

Powershell, gibt eine schöne und saubere Ausgabe.

(get-aduser USER -Properties MemberOf | select MemberOf).MemberOf | % {$_.split(",")[0].replace("CN=","")}
0
Trbo

Hier ist eine Lösung, mit der alle Domänen unter der angegebenen Domäne durchsucht werden (unter der Annahme einer ordnungsgemäßen Berechtigung für jede Domäne):

# provide the logon name here:
$user="alice"
[email protected]()

foreach ( $d in (Get-ADForest example.net).domains ) { Write-Output "Looking up $user in domain $d"; $allGroups += Get-ADPrincipalGroupMembership $user -ResourceContextServer $d }

$allGroups | ft name,GroupScope,distinguishedName -AutoSize

Verwenden von Get-ADPrincipalGroupMembership

0
Thomas