我有一个 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
回来??