Existe-t-il un moyen en ligne de commande pour répertorier tous les utilisateurs d'un groupe Active Directory particulier?
Je peux voir qui est dans le groupe en allant dans Gestion de l'ordinateur -> Utilisateurs / groupes locaux -> Groupes et en double-cliquant sur le groupe.
J'ai juste besoin d'un moyen de ligne de commande pour récupérer les données, afin de pouvoir effectuer d'autres tâches automatisées.
windows
active-directory
Peter Mortensen
la source
la source
dsget group "CN=GroupName,DC=domain,DC=name,DC=com" -members -expand
vous donne les membres des groupes imbriqués, bien que cela puisse ne pas aider les doublons, et vous donne la chaîne de requête AD complète pour le membre, pas seulement son CN.Voici une autre méthode à partir de l'invite de commande, vous ne savez pas comment elle est automatisable, car vous devrez analyser le résultat:
Si le groupe est "groupe de sécurité global":
Si vous recherchez un "groupe de sécurité local de domaine":
la source
net user /domain
). Merci!Voici une version de la commande ds que j'ai trouvée plus utile, en particulier si vous avez une structure OU complexe et que vous ne connaissez pas nécessairement le nom distinctif complet du groupe.
ou si vous connaissez le CN du groupe, généralement identique à l'ID SAM, indiqué au cas où il y aurait des espaces dans le nom:
Comme indiqué dans les commentaires, par défaut, les commandes ds * (dsquery, dsget, dsadd, dsrm) ne sont disponibles que sur un contrôleur de domaine. Toutefois, vous pouvez installer le pack Outils d'administration à partir des outils de support du support d'installation de Windows Server ou le télécharger à partir du site de téléchargement de Microsoft.
Vous pouvez également effectuer ces requêtes à l'aide de PowerShell. PowerShell est déjà disponible en tant que fonctionnalité installable pour Server 2008, 2008 R2 et Windows 7, mais vous devez télécharger WinRM Framework pour l'installer sur XP ou Vista.
Pour avoir accès à des cmdlets spécifiques à AD dans PowerShell vous AUSSI besoin d'effectuer au moins l' une des installations suivantes:
la source
Pour une solution PowerShell ne nécessitant pas le complément Quest AD, essayez ce qui suit.
Cela énumérera également les groupes imbriqués. Si vous ne le souhaitez pas, supprimez le commutateur -recursive .
la source
Un moyen très simple qui fonctionne sur les serveurs et les clients:
Retourne 1 si l'utilisateur est dans le groupe YOURGROUPNAME, sinon retournera 0
Vous pouvez ensuite utiliser la valeur% ERRORLEVEL% (0 si utilisateur du groupe, 1 sinon) comme
la source
whoami /groups | find /I /C "YOURGROUPNAME"
À l'aide de Free ActiveRoles Management Shell de PowerShell et de Quest Software pour Active Directory, vous pouvez utiliser:
(Get-QADGroup "NomGroupe"). Membres
http://www.quest.com/powershell/activeroles-server.aspx
la source
Les réponses fournies ici n'utilisent
dsget
etdsquery
ne fonctionneront que sur les versions serveur de Windows, car ces commandes ne sont pas fournies avec les autres versions de Windows (par exemple Windows 7). Sur les machines sans ces commandes, vous pouvez obtenir les informations souhaitées à l'aide de la commande AdFind .Voici un exemple de requête pour obtenir l'appartenance à un groupe:
la source
Comment lister les groupes et les utilisateurs locaux?
Utilisez le script PowerShell suivant pour répertorier les groupes locaux et les membres de ces groupes.
Copiez le texte ci-dessus dans le bloc-notes et enregistrez-le sous
filename.ps1
. Puis lancez le fichier. Je devrais afficher les groupes et les utilisateurs de chaque groupe, ou vous pouvez simplement l'exécuter à partir de Powershell.la source
cmdlet ForEach-Object at command pipeline position 1. Supply values for the following parameters:
puis demande à l'entrée,Process[0]
Pour les membres de l’
UserGroup1
essai:la source
cmd
, pour une raison quelconque.dsget failed:'Target object for this command' is missing.