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)))

相关内容