Microsoft AD - 否定 OU= LDAP 過濾器

Microsoft AD - 否定 OU= LDAP 過濾器

我正在嘗試為 MS AD 生成一個 LDAP 過濾器,它根據某些 OU 過濾用戶(在我的情況下,排除特定 OU 但也包括不起作用):

(&(cn=Testuser1)(|(ou:dn:=Included1)(ou:dn:=Included2)))
(&(cn=Testuser1)(!(ou:dn:=Excluded)))

不起作用。我測試了(ou:dn:=Included1)其中列出了實際的「資料夾」物件(下面以 * 標記),但沒有列出該物件下面的使用者(DN 包含 ou)。我無法使用搜尋庫,因為它應該找到多個:

ou=Included1,dc=example,dc=com *
  cn=Testuser1,ou=Included1,dc=example,dc=com +
ou=Included2,dc=example,dc=com
  cn=Testuser1,ou=Included2,dc=example,dc=com +
ou=Excluded,dc=example,dc=com
  cn=Testuser1,ou=Excluded,dc=example,dc=com - 

在上面的兩個範例過濾器中,我想找到兩個 Testuser1 條目(用 + 標記),而不是三個(用 - 標記)。

但實際上沒有一個匹配。實際的用戶條目在我可以過濾的屬性方面沒有其他差異。

感覺就像“ ou:dn:=”語法只找到第一個名稱組件是所需的對象,而不是任何......?

答案1

負 OU= 元件過濾器似乎不適用於 Microsoft LDAP,因為它是一個建構屬性(感謝 @semicolon 提供的連結)。

但是,它可以使用完整的屬性值,例如:

(&(CN=%u)(!(distinguishedName=CN=%u,OU=Excluded,dc=example,dc=com)))

相關內容