Comment utiliser un filtre de recherche pour afficher les utilisateurs d'un groupe spécifique?
J'ai essayé ce qui suit:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
et ça:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
mais ni afficher les utilisateurs d'un groupe spécifique.
memberOf (dans AD) est stocké sous forme de liste de noms distingués. Votre filtre doit être quelque chose comme:
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
Si vous n'avez pas encore le nom distinctif, vous pouvez le rechercher avec:
(&(objectCategory=group)(cn=myCustomGroup))
et retourne l'attribut distinguishedName
. Le cas peut compter.
Pour les utilisateurs d'Active Directory, une autre méthode consiste à supposer que tous vos groupes sont stockés dans OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
- pour utiliser la requête (&(objectCategory=group)(CN=GroupCN))
. Cela fonctionnera bien pour tous les groupes de moins de 1500 membres. Si vous souhaitez répertorier tous les membres d'un groupe AD important, la même requête fonctionnera, mais vous devrez utiliser extraction à distance pour extraire tous les membres, 1 500 enregistrements à la fois.
La clé pour effectuer des extractions à distance consiste à spécifier la plage dans les attributs à l'aide de la syntaxe suivante: attribut; plage = bas-haut . Par conséquent, pour extraire tous les membres d'un groupe AD comptant 3 000 membres, exécutez d'abord la requête ci-dessus en demandant le renvoi de l'attribut member;range=0-1499
, puis l'attribut member;range=1500-2999
.
Si le DC est Win2k3 SP2 ou une version ultérieure, vous pouvez utiliser quelque chose comme:
(&(objectCategory=user)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com))
pour obtenir l'appartenance à un groupe imbriqué.
Source: https://ldapwiki.com/wiki/Active%20Directory%20Group%20Related%20Searches