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)))
который вы можете найти более понятным.