Vraag Krijg een lijst met AD-groepen waar een gebruiker lid van is


Stel dat ik de gebruikersnaam van een gebruiker in Active Directory heb. Ik wil graag een lijst krijgen van alle AD-groepen waarin die gebruiker momenteel lid is. Hoe kan ik dit doen vanaf de Windows-opdrachtregel?

Ik heb het volgende geprobeerd:

dsget user "DC=jxd123" -memberof

Fout:

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

45
2017-08-19 18:42


oorsprong


U krijgt zeker geen fout voor dsquery wanneer u dsget uitvoert. Kopiëren & plakken mislukken? - mfinni
Ter info, vond het zelfde vraag op StackOverflow met nog een paar antwoorden. - Nic


antwoorden:


Je kunt dit vrij gemakkelijk doen in PowerShell. Ik weet zeker dat je het ook met de DS-tools kunt doen, maar ze zijn oud en knapperig en PowerShell moet tegenwoordig worden gebruikt voor alles wat mogelijk is.

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

28
2017-08-19 18:47



Ik heb Powershell gedownload en heb nu een * .msu-bestand. Hoe installeer ik het met het * .msu-bestand? - MacGyver
Op welk besturingssysteem ben je? PowerShell is ingebouwd in iets dat nieuwer is dan XP en is beschikbaar als optionele Windows Update voor XP. - MDMarra
Windows XP .. Mijn bedrijf is traag: - \ - MacGyver
Vervolgens hebt u het verkeerde installatieprogramma gedownload. Ook, gewoon een heads-up, eindigt XP-ondersteuning in iets minder dan een jaar. Krijg upgrades die in beweging komen! microsoft.com/en-us/windows/endofsupport.aspx - MDMarra
Get-ADPrincipalGroupMembership is een andere manier om dit in PowerShell te doen. - Nic


Of met de internetgebruiker commando...

net user /domain username

69
2017-08-19 18:58



Ik ben dol op de eenvoud die sommige van de "oude" DOS-opdrachten bieden. En ze zijn er altijd geweest, dus zelfs als je PoSH niet op een oude machine hebt geladen, komt DOS je te hulp! Bedankt voor het plaatsen van dit. - Jeff Moden
Hiermee worden alleen expliciete, maar niet impliciete groepslidmaatschappen geretourneerd. - Elias Probst
Gladde opdracht, MAAR, de groepennamen in de uitvoer zijn afgekapt tot 21 tekens ... :-( - t0r0X
Ja, er zijn beperkingen. Geneste groepslidmaatschappen worden niet getoond en u hebt gelijk, de uitvoer is afgekapt. Toegegeven, ik had het laatste niet overwogen. - Jack
Werkte geweldig, maar waarom zou het worden afgekapt? Is er een config / parameter die kan worden toegevoegd voor de volledige groepsnaam? - ThinkCode


Eén regel, geen modules nodig, gebruikt de huidige geregistreerde gebruiker $ ($ env: gebruikersnaam), werkt vanuit andere Windows-machines:

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

Qudos aan dit vbs / powershell-artikel: http://technet.microsoft.com/en-us/library/ff730963.aspx


27
2018-05-13 09:42



Zeer goede oplossing, de enige die voor mij werkte zonder extra software te installeren! Bedankt! - t0r0X
+1 voor werken op een beperkt systeem zonder extra software! - Saustrup


Vond een goede bron:

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

Hier is hoe het te doen vanuit de opdrachtprompt van Windows:

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

8
2017-08-19 18:56





PowerShell:

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

6
2018-04-15 03:50





Als je je eigen groepen moet zien, is dat wel zo whoami /groups:

Geeft de gebruikersgroepen weer waartoe de huidige gebruiker behoort.

Het voordeel van deze opdracht is voorbij net user /domain username is dat impliciete groepslidmaatschappen ook worden weergegeven met whoami.


6
2018-01-29 11:04



Beste oplossing. Upvoted. Kort en zoet. Trunceert niet. Persoonlijk vind ik het beste het LIST-formaat, d.w.z. whoami /groups /fo list, omdat het het gemakkelijkst te lezen is met het oog. - peterh


Een andere benadering: een PowerShell-script dat alle impliciete groepslidmaatschappen van het token voor Windows-accounts weergeeft. Werkt op een beperkt systeem.

$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