LDAP Более одного оператора отрицания в фильтре

Я пытаюсь написать фильтр LDAP с двумя отрицаниями. Мне нужны все пользователи, которые не отключены и не принадлежат OU=Abt99 .

Это мой фильтр на данный момент:

(&(objectClass=user)(objectCategory=person)(samaccountname={USERNAME})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

Я старался

(&(objectClass=user)(objectCategory=person)(samaccountname={USERNAME})(!(userAccountControl:1.2.840.113556.1.4.803:=2)(OU=Abt99)))

а также

(&(objectClass=user)(objectCategory=person)(samaccountname={USERNAME})(!(userAccountControl:1.2.840.113556.1.4.803:=2)!(OU=Abt99)))

а также

(&(objectClass=user)(objectCategory=person)(samaccountname={USERNAME})(&(!(userAccountControl:1.2.840.113556.1.4.803:=2)(OU=Abt99))))

ничего не получалось. Я читал, что оператор not влияет только на один фильтр, но должен быть способ сказать что-то вроде "не это И не то". Может быть, кто-нибудь может мне помочь?

1 ответ

Решение

Фундаментальная форма "не это и не то" в префиксной нотации LDAP для фильтров:

(&(!(this))(!(that)))

Однако по законам де Моргана это эквивалентно "нет (тому или другому)" или:

(!(|(this)(that)))

который вы можете найти более понятным.

Другие вопросы по тегам