如何使用搜索过滤器显示特定组的用户?
我尝试了以下方法:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
还有这个:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
但都不会显示特定组的用户。
Answers:
memberOf(在AD中)存储为专有名称列表。您的过滤器必须类似:
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
如果您还没有专有名称,可以使用以下命令进行搜索:
(&(objectCategory=group)(cn=myCustomGroup))
并返回属性distinguishedName
。情况可能很重要。
对于Active Directory用户,一种替代方法是-假设所有组都存储在其中OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
-以使用查询(&(objectCategory=group)(CN=GroupCN))
。对于少于1500名成员的所有组,此方法都适用。如果要列出大型广告组的所有成员,则可以使用相同的查询,但是必须使用范围检索来一次获取1500条记录来获取所有成员。
执行远程检索的关键是使用以下语法在属性中指定范围:attribute; range = low-high。因此,要获取具有3000个成员的AD组的所有成员,请首先运行上面的查询,要求member;range=0-1499
返回属性,然后再返回该member;range=1500-2999
属性。
(CN=GroupCN)
。我尝试请求所有群组,直到我指定了该群组后它才起作用。您也可以在指定范围时使用星号:member;range=1500-*
-效果也不错。
如果DC是Win2k3 SP2或更高版本,则可以使用以下方法:
(&(objectCategory=user)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com))
获取嵌套的组成员身份。
来源:https : //ldapwiki.com/wiki/Active%20Directory%20Group%20Related%20Searches