Microsoft AD: unidad organizativa negativa = filtro LDAP

Microsoft AD: unidad organizativa negativa = filtro LDAP

Estoy intentando producir un filtro LDAP para MS AD que filtre a los usuarios según algunas unidades organizativas (en mi caso, excluir una unidad organizativa específica pero incluirla tampoco funciona):

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

No funciona. Probé (ou:dn:=Included1)que enumera los objetos de "carpeta" reales (marcados con * a continuación) pero no los usuarios debajo (con el DN que contiene ou). No puedo usar la base de búsqueda porque debería encontrar varios:

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 - 

En mis dos filtros de ejemplo anteriores, quiero encontrar dos entradas de Testuser1 (marcadas con +), no tres (marcadas con -).

Pero en realidad no coincide con ninguno. Las entradas de usuario reales no tienen otras diferencias en los atributos que puedo filtrar.

Lo que parece es que la ou:dn:=sintaxis " " solo encuentra objetos cuyo primer componente de nombre es el deseado, no cualquiera...

Respuesta1

El filtro de componente negativo OU= parece no funcionar con Microsoft LDAP ya que es un atributo construido (gracias a @semicolon por el enlace).

Sin embargo, funciona utilizar el valor completo del atributo como:

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

información relacionada