Active directory LDAP查询以返回指定OU中的所有组

Active directory LDAP查询以返回指定OU中的所有组,active-directory,sharepoint-2007,directoryservices,ldap-query,Active Directory,Sharepoint 2007,Directoryservices,Ldap Query,我正在尝试更新当前应用于SharePoint(WSS)中人员选取器的筛选器 我正在使用stsadm设置过滤器 类似于 stsadm -o setproperty -url http://webserver:39770 -pn peoplepicker-searchadcustomfilter -pv "(&(userAccountControl=512)(objectCategory=person)(objectClass=user)(memberOf=cn=All Users Grou

我正在尝试更新当前应用于SharePoint(WSS)中人员选取器的筛选器

我正在使用stsadm设置过滤器

类似于

stsadm -o setproperty -url http://webserver:39770 -pn peoplepicker-searchadcustomfilter -pv "(&(userAccountControl=512)(objectCategory=person)(objectClass=user)(memberOf=cn=All Users Group,ou=E-Mail Distribution Lists,dc=domain,dc=com,dc=au))"
我知道如何执行此操作,但希望更改LDAP查询。这就是我需要你帮助的地方

我想查询AD中的OU并返回其中的所有组

作为回退,我可以将OU中的所有组放入它们自己的组中,并使用以下查询查询该组

(&(memberOf=CN=WSSPeoplePickerGroup,OU=Groups,DC=domain,DC=com,DC=au)(objectCategory=group))
。。。但如果可以,我想直接询问OU。这已经成为我现在还不想放弃的一根骨头,所以希望有人比我更聪明

我想我需要去的地方是我找到的以下查询。据我所知,这被称为可扩展搜索匹配,他们正在筛选OU的“名称”,但我很难看到如何将其应用于我想要的内容(尽管我做了多次尝试),如果这确实是我应该采取的方法

(&(objectClass=group)(&(ou:dn:=Chicago)(!(ou:dn:=Wrigleyville))))

TIA

如果您只想搜索特定的OU。为什么不直接按区分名称搜索呢

对你来说,也许是这样的

(distinguishedName=*ou=E-Mail Distribution Lists,dc=domain,dc=com,dc=au)
这相当于搜索OU电子邮件分发

而且userAccountControl=512并不意味着所有已启用的用户。它只是搜索普通帐户。更好的方法是搜索是否设置了禁用标志

使用此选项而不是userAccountControl=512查找所有未禁用的用户

(!(userAccountControl:1.2.840.113556.1.4.803:=2))

仅供参考。

谢谢,但我不相信您可以在DiscrimitedName中使用通配符。“(DifferentiedName=CN=*,ou=Groups,dc=weldedtube,dc=com,dc=au)”不起作用,但“(DifferentiedName=CN=[完整可分辨名称],ou=Groups,dc=weldedtube,dc=com,dc=au)”起作用