Requête LDAP pour lister tous les utilisateurs d'un certain groupe
Comment puis-je utiliser un filtre de recherche pour afficher les utilisateurs d'un groupe spécifique?
j'ai essayé le code suivant:
(&
(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.
2 réponses
memberOf (in AD) est stocké sous la forme d'une liste de noms différents. 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 unique, vous pouvez rechercher avec:
(&(objectCategory=group)(cn=myCustomGroup))
et retourner l'attribut distinguishedName
. Cas de la matière.
pour les utilisateurs de Active Directory, une autre façon de le faire serait -- en supposant que tous vos groupes sont stockés dans OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
-- d'utiliser la requête (&(objectCategory=group)(CN=GroupCN))
. Cela fonctionnera bien pour tous les groupes comptant moins de 1 500 membres. Si vous voulez lister tous les membres d'un grand groupe D'annonces, la même requête fonctionnera, mais vous devrez utiliser récupération à distance pour aller chercher tous les membres, 1500 disques à la fois.
la clé pour effectuer des extractions à distance est de spécifier la gamme attributs utilisant cette syntaxe:l'attribut;gamme=bas-haut. Alors pour récupérer tous les membres D'un groupe publicitaire avec 3000 membres, Lancez d'abord la requête ci-dessus en demandant le member;range=0-1499
attribut à retourner, puis pour le member;range=1500-2999
l'attribut.