LDAP查询列出某个组的所有用户
我需要一个searchfilter来显示特定组的用户。
我已经尝试了以下内容:
(& (objectCategory=user) (memberOf=MyCustomGroup) )
和这个:
(& (objectCategory=user) (memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com) )
但一无所获,请帮我纠正一下。
memberOf(在AD中)被存储为distinguishedNames的列表。 你的filter需要是这样的:
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
如果您还没有专有名称,您可以使用以下方式进行search:
(&(objectCategory=group)(cn=myCustomGroup))
并返回属性distinguishedName
。 案件可能很重要。
对于Active Directory用户,另一种方法是 – 假设所有的组都存储在OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
– 中以使用查询(&(objectCategory=group)(CN=GroupCN))
。 对于所有成员less于1500人的团体来说,这样做会很好。 如果要列出大型广告组的所有成员,则相同的查询将起作用,但您必须使用范围检索来获取所有成员,每次有1500条logging。
执行范围检索的关键是使用以下语法在属性中指定范围: attribute; range = low-high 。 因此,要获取具有3000个成员的AD组的所有成员,首先运行上述查询询问member;range=0-1499
属性被返回,然后为member;range=1500-2999
属性。