我该如何使用搜索过滤器来显示特定组别的用户?
我尝试了以下方法:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
而且这个:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
但是它们都无法显示特定用户组的用户。
我该如何使用搜索过滤器来显示特定组别的用户?
我尝试了以下方法:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
而且这个:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
但是它们都无法显示特定用户组的用户。
在AD中,memberOf被存储为一个区别名称列表。你的筛选器需要像这样:
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
如果您尚未拥有该可辨认名称,您可以使用以下方式进行搜索:(&(objectCategory=group)(cn=myCustomGroup))
并返回属性 distinguishedName
,大小写可能有所不同。
OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
中——使用查询(&(objectCategory=group)(CN=GroupCN))
。这将适用于所有小于1500个成员的组。如果您想列出大型AD组的所有成员,同样的查询也可以使用,但您将需要使用分段检索来获取所有成员,每次获取1500个记录。member;range=0-1499
属性,然后是member;range=1500-2999
属性。(CN=GroupCN)
。我尝试请求所有组,但在指定此项之前它无法正常工作。另外,在指定范围时,您可以使用星号:member;range=1500-*
- 它也能很好地工作。 - Stalinko如果您需要在多个组中搜索,则查询会更加复杂:
(&(objectCategory=user)(|(memberOf=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf=CN=GroupTwo,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf=CN=GroupThree,OU=Security Groups,OU=Groups,DC=example,DC=com)))
递归示例:
(&(objectCategory=user)(|(memberOf:1.2.840.113556.1.4.1941:=CN=GroupOne,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupTwo,OU=Security Groups,OU=Groups,DC=example,DC=com)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupThree,OU=Security Groups,OU=Groups,DC=example,DC=com)))
memberOf=CN=*,OU=mygroups,OU=groups,DC=subdomain,DC=domain,DC=com
。 - lampShadesDrifter