Microsoft AD - OU negativo = filtro LDAP

Microsoft AD - OU negativo = filtro LDAP

Estou tentando produzir um filtro LDAP para MS AD que filtra usuários com base em algumas UOs (no meu caso, excluir uma UO específica, mas também incluir não funciona):

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

não funciona. Eu testei (ou:dn:=Included1)o que lista os objetos de "pasta" reais (marcados com * abaixo), mas não os usuários abaixo deles (com o DN contendo o ou). Não consigo usar a base de pesquisa porque ela deve encontrar vários:

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 - 

Nos meus dois filtros de exemplo acima, quero encontrar duas entradas Testuser1 (marcadas com +), não três (marcadas com -).

Mas na verdade não corresponde a nenhum. As entradas reais do usuário não têm outras diferenças nos atributos que posso filtrar.

A sensação é que a ou:dn:=sintaxe " " só encontra o objeto onde o primeiro componente do nome é o desejado, e não qualquer ...?

Responder1

O filtro negativo do componente OU= parece não funcionar com o Microsoft LDAP, pois é um atributo construído (graças a @ponto e vírgula pelo link).

No entanto, funciona para usar o valor completo do atributo como:

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

informação relacionada