Recherche de site Web

Obtenir les membres de grands groupes AD (5 000+)


Dans ce guide, je vais vous montrer comment obtenir des membres des grands groupes Active Directory en utilisant PowerShell.

Par défaut, la commande Get-ADGroupMember a une limite de 5 000 membres. Si le groupe a plus de 5 000 membres, vous obtiendrez l'erreur ci-dessous.

“Get-ADGroupMember : La limite de taille pour cette requête a été dépassée”.

Raison de l'erreur de limite de taille

La limite de Get-ADGroupMember est restreinte par les services Web Active Directory qui ont une limite par défaut de 5 000 objets. Vous pouvez modifier un fichier de configuration pour changer la limite de 5 000, mais cela nécessite de redémarrer les services Web Active Directory. Ci-dessous, je vais vous montrer quelques options différentes pour contourner les limitations des grands groupes.

Solution 1 - Utilisez la cmdlet Get-ADGroup

Vous pouvez utiliser la cmdlet Get-ADGroup pour lister les membres du groupe et elle n'a pas la limite de 5 000 objets.

Dans l'exemple ci-dessous, je récupère les membres du groupe « all_users ». Ce groupe compte plus de 7 000 membres.

Get-ADGroup "all_users" -Properties Member | select -ExpandProperty member

Pour obtenir le nombre de membres dans le groupe, utilisez cette commande.

((Get-ADGroup "all_users" -Properties Member).Member).Count

Pour obtenir les membres du groupe et inclure les propriétés des utilisateurs, vous devrez le rediriger vers la commande get-aduser.

(Get-ADGroup "all_users" -Properties Member).Member | Get-ADUser | select name, userprincipalname, enabled, givenname, surname

Solution 2 - Utiliser l'outil AD Pro

Le kit d'outils AD Pro facilite la liste des membres de grands groupes, il n'a pas de limites de taille. Vous pouvez exécuter le rapport sur un seul groupe, plusieurs groupes ou sur l'ensemble du domaine.

Étape 1. Ouvrez l'outil

Le Kit d'outils AD Pro comprend des centaines de rapports AD et plusieurs outils. Vous pouvez l'essayer gratuitement en téléchargeant un essai gratuit.

Étape 2. Cliquez sur Rapports > Rapports des membres du groupe

Cliquez sur le rapport des membres du groupe, cliquez sur parcourir pour sélectionner une OU ou cliquez sur rechercher pour sélectionner un groupe unique. Vous pouvez également cliquer sur exécuter pour exécuter le rapport pour l'ensemble du domaine.

Vous pouvez personnaliser le rapport en cliquant sur Colonnes et en ajoutant ou supprimant les colonnes dont vous avez besoin. Vous pouvez également exporter le rapport en cliquant sur le bouton d'exportation.

Solution 3 - Modifier le fichier de configuration ADWS (Services Web d'Active Directory)

Étape 1. Connectez-vous à votre contrôleur de domaine

Étape 2. Ouvrez le fichier de configuration du service Web

Ouvrez le fichier suivant avec le bloc-notes

C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe.config

Étape 3. Copiez le texte ci-dessous.

<!--Specifies the maximum number of group members (recursive or non-recursive), group memberships, and authorization groups that can be retrieved by the Active Directory module Get-ADGroupMember, Get-ADPrincipalGroupMembership, and Get-ADAccountAuthorizationGroup cmdlets. Set this parameter to a higher value if you anticipate these cmdlets to return more than 5000 results in your environment.-->

<add key="MaxGroupOrMemberEntries" value="10000"/>

Ce qui précède changera la limite des membres du groupe à 10 000. Vous pouvez changer cela à un nombre plus élevé si nécessaire.

Collez le texte dans le fichier de configuration.

Enregistrez le fichier et réinitialisez le service des Services Web Active Directory.

Vous pouvez redémarrer le service avec la commande ci-dessous.

Restart-Service -Name ADWS

Étape 4. Tester la cmdlet Get-ADGroupMember

Vous devriez maintenant être en mesure de interroger des groupes de plus de 5 000 objets. Vous pouvez voir ci-dessous que la cmdlet Get-ADGroupMember fonctionne désormais avec des groupes de plus de 5 000.

Conclusion

Dans cet article, je vous ai montré trois solutions différentes pour traiter la limite de taille de 5 000 objets de Get-ADGroupMember. Vous pouvez utiliser la cmdlet Get-ADGroup, modifier le paramètre MaxGroupOrMemberEntries dans le fichier de configuration ADWS ou utiliser un outil tiers tel que le AD Pro Toolkit. Le seul inconvénient de la modification du fichier de configuration ADWS est que vous devez redémarrer le service ADWS.

Vous pourriez également aimer copier l'appartenance au groupe AD d'un utilisateur à un autre.