84 votes

Obtenez la liste des groupes AD dont un utilisateur est membre.

Supposons que je dispose de l'identifiant d'un utilisateur dans Active Directory. J'aimerais obtenir une liste de tous les groupes AD dont cet utilisateur est actuellement membre. Comment puis-je faire cela à partir de la ligne de commande Windows ?

J'ai essayé ce qui suit :

dsget user "DC=jxd123" -memberof

Error:

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

4 votes

Vous n'obtiendrez certainement pas d'erreur pour dsquery lorsque vous exécuterez dsget. Le copier-coller a échoué ?

0 votes

Pour info, j'ai trouvé le même question sur StackOverflow avec quelques réponses supplémentaires.

1 votes

Je n'ai pas assez de réputation pour répondre, mais en supposant que vous utilisez powershell, vous pouvez écrire ceci : Get-ADPrincipalGroupMembership nom d'utilisateur | select nom

119voto

Jack Points 1216

Ou avec le utilisateur du réseau commande...

net user /domain username

4 votes

J'aime la simplicité qu'offrent certaines des "vieilles" commandes DOS. Et, elles ont toujours été là, donc même si vous n'avez pas de PoSH chargé sur une vieille machine, DOS vient à la rescousse ! Merci de l'avoir publié.

5 votes

Cela ne renverra que les appartenances explicites, mais pas les appartenances implicites.

19 votes

Commande astucieuse, MAIS, les noms de groupes dans la sortie sont tronqués à 21 caractères... :-(

74voto

Canoas Points 742

Une seule ligne, aucun module nécessaire, utilise l'utilisateur actuel connecté $($env:username), fonctionne depuis d'autres machines Windows :

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

Qudos à cet article de vbs/powershell : http://technet.microsoft.com/en-us/library/ff730963.aspx

7 votes

Très bonne solution, la seule qui ait fonctionné pour moi sans installer de logiciel supplémentaire ! Merci !

8 votes

+1 pour travailler sur un système restreint sans aucun logiciel supplémentaire !

4 votes

Un autre +1 ici pour à la fois travailler sur un système restreint et avoir un meilleur résultat que net.exe. Merci beaucoup !

57voto

MDMarra Points 99815

Vous pouvez faire cela dans PowerShell assez facilement. Je suis sûr que vous pouvez le faire avec les outils ds aussi, mais ils sont vieux et poussiéreux et PowerShell devrait être utilisé pour tout ce qui est possible de nos jours.

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

Version abrégée

(Get-ADUser userName –Properties MemberOf).MemberOf

0 votes

J'ai téléchargé Powershell, et j'ai maintenant un fichier *.msu. Comment puis-je l'installer en utilisant le fichier *.msu ?

0 votes

Quel système d'exploitation utilisez-vous ? PowerShell est intégré à tout système plus récent que XP et est disponible pour XP en tant que mise à jour optionnelle de Windows.

0 votes

Windows XP Mon entreprise est lente

24voto

Dmitry Grigoryev Points 558

Si vous avez besoin de voir vos propres groupes, il y a whoami /groups :

Affiche les groupes d'utilisateurs auxquels l'utilisateur actuel appartient.

L'avantage de cette commande par rapport à net user /domain username c'est que les appartenances implicites à un groupe sont également affichées avec la fonction whoami .

5 votes

La meilleure solution. Approuvé. Court et agréable. Ne tronque pas. Personnellement, je préfère le format LIST, c'est à dire whoami /groups /fo list car c'est le plus facile à lire à l'œil.

1 votes

La meilleure réponse ici, surtout sur les systèmes d'entreprise où les utilitaires sont sévèrement limités.

0 votes

Mais cela ne fonctionne que pour l'utilisation actuelle

13voto

Olivier Refalo Points 121

PowerShell :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X