次のような 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
戻ってきた??