1

我有一个 Active Directory 根目录,例如:

dc=ooo,dc=yyy,dc=xx

在这个根目录下有几个 OU,例如:

ou=Applications,dc=ooo,dc=yyy,dc=xx
ou=PKI,ou=Applications,dc=ooo,dc=yyy,dc=xx
ou=Servers,dc=ooo,dc=yyy,dc=xx
ou=Location1,ou=Servers,dc=ooo,dc=yyy,dc=xx
ou=Department1,dc=ooo,dc=yyy,dc=xx
ou=Subdepartment1=ou=Department1,dc=ooo,dc=yyy,dc=xx

我想获取所有“部门”,因此节点表示为 OU,但不代表部门的特定 OU 及其子项(基于 OU 术语)除外。

例如,在上述情况下,我只想获取 Department1 及其子部门。但我想通过排除 OU 应用程序及其子项以及 OU 服务器及其子项来实现这一点(基于排除条件进行搜索)...

我正在执行以下搜索:

scope: subtree
search dn clause: dc=ooo,dc=yyy,dc=xx (beggining from the root)
filter: (&(!(ObjectClass=person))(!(ou:dn:=Applications))(!(ou:dn:=Servers))

但问题是它只排除了“应用程序”和“服务器”而不是他们的孩子,所以它返回给我:

ou=PKI,ou=Applications,dc=ooo,dc=yyy,dc=xx
ou=Location1,ou=Servers,dc=ooo,dc=yyy,dc=xx
ou=Department1,dc=ooo,dc=yyy,dc=xx
ou=Subdepartment1=ou=Department1,dc=ooo,dc=yyy,dc=xx

反正要消灭所有的孩子也?最后只有

ou=Department1,dc=ooo,dc=yyy,dc=xx
ou=Subdepartment1=ou=Department1,dc=ooo,dc=yyy,dc=xx

回来??

4

1 回答 1

2

我不知道所有细节,但 AD 对 LDAP 可扩展匹配过滤的支持有限:http: //msdn.microsoft.com/en-us/library/cc223241.aspx

于 2013-04-02T13:26:20.807 回答