запросы LDAP microsoft

Примеры LDAP для работы с AD

Условия LDAP

Фильтр определяет необходимые условия  для  включения объекта в результат запроса. LDAP-фильтр может содержать одно или более условий.
Результат условия — «Истина» или «Ложь». Общий вид фильтра

(<Атрибут AD><оператор сравнения><значение>)

<Атрибут AD> — LDAP-имя атрибута AD. Операторы сравнения

Оператор Значение
= Равенство
>= Больше или равно
<= Меньше или равно

Операторы «<» и «>» не поддерживаются. Также поддерживается оператор «~=» (приблизительное равенство), но в Active Directory он не находит своего применения. Элемент «<значение>» — значение атрибута AD. Значение не чувствительно к регистру и не должно быть заключено в кавычки.  Символ шаблона «*» допустим всегда, кроме случаев. когда <Атрибут AD> — атрибут DN (уникальное имя), например distinguishedName, manager, directReports, member и memberOf. Если атрибут DN, то допустим только оператор равенства и необходимо указать полное уникальное имя значения (или «*» для объектов с любым значением атрибута). DN не нужно заключать в круглые скобки. Если атрибут принимает несколько значений, то условие выполняется при выполнении условия фильтра любым значением. Пример

(cn=Василий Пупкин)

Данный фильтр возвращает все объекты с CN (общее имя) равным строке «Василий Пупкин».
Условия фильтра могут быть объединены следующими операторами.

Орератор Значение
& И, все условия должны быть выполнены
| ИЛИ, любое количество условий может быть соблюдено
! НЕТ, условие не должно быть соблюдено

Пример. cn должно быть «Василий Пупкин» или givenName равно «Василий», sn равно «Пупкин»:

(|(cn=Василий Пупкин)(&(givenName=Василий)(sn=Пупкин)))

Условия могут заключаться в скобки, но нужно их корректно закрывать.

 

Специальные символы LDAP

Спецификация LDAP-фильтра присваивает специальное значение следующим символам:

 

* ( ) \ NUL

Символ NUL это ASCII 00. В  LDAP-фильтрах данные символы описываются как «\» с последующим шестнадцатеричным  (Hex) представлением символа.

Character Hex Representation
* \2A
( \28
) \29
\ \5C
Nul \0

Для поиска объектов с общим именем «Василий Вася*) Пупкин», LDAP-фильтр имеет вид:

(cn=Василий Вася\2A\29 Пупкин)

Закрытые круглые скобки не требуют использования кодов, например условие (cn=Василий(Вася)Пупкин)является корректным. Также не отображаемые или символы других алфавитов должны быть заменены кодами. Пример кодов и символов:

Символ Шестнадцатеричное представление
á \E1
é \E9
í \ED
ó \F3
ú \FA
ñ \F1

 


Фильтрация по атрибутам objectCategory и objectClass

При фильтрации по атрибуту класса objectСategory, LDAP производит преобразование значения для более удобного составления фильтров.  objectСategory — атрибут DN, например»cn=person,cn=Schema,cn=Configuration,dc=MyDomain,dc=com». Возможное условие фильтра

(objectCategory=cn=person,cn=Schema,cn=Configuration,dc=MyDomain,dc=com)

Active Directory позволяет использовать следующее короткое написание

(objectCategory=person)

Таблица комбинаций objectCategory и objectClass

 objectCategory objectClass  Результат
person user Пользователи
person Пользователи и контакты
person contact Контакты
user Пользователи и компьютеры
computer Компьютеры
user Пользователи и контакты
contact Контакты
computer Компьютеры
person пользователи, компьютеры и контакты
contact Пользователи и контакты
group Группы
group Группы
person organizationalPerson Пользователи и контакты
organizationalPerson Пользователи, компьютеры и контакты
organizationalPerson Пользователи и контакты

Нужно использовать фильтры, наиболее точно описывающие желаемый результат. Когда приходится выбирать между использованием objectCategory и objectClass, предпочтительно objectCategory, т.к. objectCategory принимает только одно значение и индексируется, а objectClass — много значений и не индексируется в Windows Server до 2008. Фильтрация с использованием objectCategory эффективнее аналогичной, но основанной на objectClass. Контроллеры домена на Windows Server 2008 индексируют objectClass. Этим можно воспользоваться, когда все контроллеры используют Windows Server 2008 или же при явном указании контроллера домена на Windows Server 2008 при запросе.

 


Примеры LDAP

Запрос LDAP-фильтр
Все пользователи (&(objectCategory=person)(objectClass=user))
Все пользователи (прим. 1) (sAMAccountType=805306368)
Все компьютеры (objectCategory=computer)
Все контакты (objectClass=contact)
Все группы (objectCategory=group)
Все организационные подразделения (objectCategory=organizationalUnit)
Все контейнеры (objectCategory=container)
Все встроенные контейнеры (objectCategory=builtinDomain)
Все домены (objectCategory=domain)
Компьютеры без описания (&(objectCategory=computer)(!description=*))
Группы с описанием (&(objectCategory=group)(description=*))
Пользователи с cn начитающимися на «Вас» (&(objectCategory=person)(objectClass=user)
(cn=Вас*))
Объекты с описанием «Отдел IT Ижевск\Казань»
(прим. 2)
(description=Отдел IT Ижевск\5CКазань)
Группы с cn начинающимся на «Test» или «Admin» (&(objectCategory=group(|(cn=Test*)(cn=Admin*)))
Все пользователи с заполненными именем и фамилией. (&(objectCategory=person)(objectClass=user)
(givenName=*)(sn=*))
Все пользователи с указанным e-mail (&(objectCategory=person)(objectClass=user)
(|(proxyAddresses=*:[email protected])
([email protected])))
Объекты с общим именем «Василий * Пупкин»
(прим. 3)
(cn=Василий \2A Пупкин)
Объекты с sAMAccountName, начинающимся
на  «x», «y», или «z»
(sAMAccountName>=x)
Объекты с sAMAccountName начинающимся с
«a» или цифры или символа, кроме «$»
(&(sAMAccountName<=a)(!sAMAccountName=$*))
пользователи с установленным параметром «Срок действия пароля не ограничен»
(прим. 4)
(&(objectCategory=person)(objectClass=user)
(userAccountControl:1.2.840.113556.1.4.803:=65536))
Все отключенные пользователи (прим. 4) (&(objectCategory=person)(objectClass=user)
(userAccountControl:1.2.840.113556.1.4.803:=2))
Все включенные пользователи (прим. 4) (&(objectCategory=person)(objectClass=user)
(!userAccountControl:1.2.840.113556.1.4.803:=2))
Пользователи, не требующие паролей (прим. 4) (&(objectCategory=person)(objectClass=user)
(userAccountControl:1.2.840.113556.1.4.803:=32))
Пользователи с включенным параметром «Без предварительной проверки подлинности Kerberos» (&(objectCategory=person)(objectClass=user)
(userAccountControl:1.2.840.113556.1.4.803:=4194304))
Пользователи с неограниченным сроком действия учетной записи (прим. 5) (&(objectCategory=person)(objectClass=user)
(|(accountExpires=0)
(accountExpires=9223372036854775807)))
Учетные записи, доверенные для делегирования (userAccountControl:1.2.840.113556.1.4.803:=524288)
Чувствительные и недоверенные для делегирования учетные записи (userAccountControl:1.2.840.113556.1.4.803:=1048574)
Все группы распространения (прим. 4, 15) (&(objectCategory=group)
(!groupType:1.2.840.113556.1.4.803:=2147483648))
Все группы безопасности (прим. 4) (groupType:1.2.840.113556.1.4.803:=2147483648)
Все встроенные группы (прим. 4, 16) (groupType:1.2.840.113556.1.4.803:=1)
Все глобальные группы (прим. 4) (groupType:1.2.840.113556.1.4.803:=2)
Все локальные в домене группы (прим. 4) (groupType:1.2.840.113556.1.4.803:=4)
Все универсальные группы (прим. 4) (groupType:1.2.840.113556.1.4.803:=8)
Все глобальные группы безопасности (прим. 17) (groupType=-2147483646)
Все универсальные группы безопасности (прим. 17) (groupType=-2147483640)
Все локальные в домене группы безопасности (прим. 17) (groupType=-2147483644)
Все глобальные группы распространения (groupType=2)
Все объекты с  имемем участника-службы (servicePrincipalName=*)
Пользователи с параметром «Разрешить доступ» на вкладке «Входящие звонки»
(прим. 6)
(&(objectCategory=person)(objectClass=user)
(msNPAllowDialin=TRUE))
Группы, созданные после  1 марта 2011 (&(objectCategory=group)
(whenCreated>=20110301000000.0Z))
Пользователи, обязанные изменить свой пароль при следующем входе в систему (&(objectCategory=person)(objectClass=user)
(pwdLastSet=0))
Пользователи, сменившие свои пароли после
15.04.2011  (прим. 7)
(&(objectCategory=person)(objectClass=user)
(pwdLastSet>=129473172000000000))
Пользовали с «основной» группой, отличающейся от
«Пользователи домена»
(&(objectCategory=person)(objectClass=user)
(!primaryGroupID=513))
Компьютеры с  «основной» группой «Контроллеры домена» (&(objectCategory=computer)(primaryGroupID=515))
Объект с GUID
«90395FB99AB51B4A9E9686C66CB18D99» (прим. 8)
(objectGUID=\90\39\5F\B9\9A\B5\1B\4A\9E\96
\86\C6\6C\B1\8D\99)
Объект с SID «S-1-5-21-73586283-152049171
-839522115-1111» (прим. 9)
(objectSID=S-1-5-21-73586283-152049171
-839522115-1111)
Объект с  SID «010500000000000515
0000006BD662041316100943170A3257040000»
(прим. 9)
(objectSID=\01\05\00\00\00\00\00\05\15
\00\00\00\6B\D6\62\04\13\16\10\09\43\17\0A\32
\57\04\00\00)
Компьютеры, не являющиеся контроллерами домена
(прим. 4)
(&(objectCategory=computer)
(!userAccountControl:1.2.840.113556.1.4.803:=8192))
Все контроллеры домена (прим. 4) (&(objectCategory=computer)
(userAccountControl:1.2.840.113556.1.4.803:=8192))
Все контроллеры домена (прим. 14) (primaryGroupID=516)
Все компьютеры с Windows Server (&(objectCategory=computer)
(operatingSystem=*server*))
Все компьютеры с Windows Server, исключая контроллеры домена (прим. 4) (&(objectCategory=computer)
(operatingSystem=*server*)
(!userAccountControl:1.2.840.113556.1.4.803:=8192))
Прямые члены группы (memberOf=cn=Test,ou=East,dc=Domain,dc=com)
Пользователя — не прямые члены указанной группы (&(objectCategory=person)(objectClass=user)
(!memberOf=cn=Test,ou=East,dc=Domain,dc=com))
Группы с указанным прямым членом (member=cn=Jim Smith,ou=West,
dc=Domain,dc=com)
Все члены группы, включая вложенность групп (прим. 10) (memberOf:1.2.840.113556.1.4.1941:=
cn=Test,ou=East,dc=Domain,dc=com)
все группы, членом которых является указанный пользователь, учитывая вложенность групп (прим. 10) (member:1.2.840.113556.1.4.1941:=
cn=Jim Smith,ou=West,dc=Domain,dc=com)
Объекты с givenName «Василий*» и sn «Пупкин*»,
или cn «Василий Пупкин*» (прим. 11)
(anr=Василий Пупкин*)
Атрибуты контейнера «Schema», реплицируемые в глобальный каталог (прим. 6, 12) (&(objectCategory=attributeSchema)
(isMemberOfPartialAttributeSet=TRUE))
Атрибуты схемы, не реплицируемые на другие контроллеры домена (прим. 4, 12) (&(objectCategory=attributeSchema)
(systemFlags:1.2.840.113556.1.4.803:=1))
Все связи сайтов в контейнере configuration (Note 13) (objectClass=siteLink)
Объекты nTDSDSA связаные с глобальными каталогами. Позволяет определить контроллеры домена с глобальным каталогом. (Note 4) (&(objectCategory=nTDSDSA)
(options:1.2.840.113556.1.4.803:=1))
Объект nTDSDSA связанный с ролью PDC-эмулятора. Позволяет определить контроллер домена с FSMO-ролью PDС-эмулятор (прим. 18). (&(objectClass=domainDNS)(fSMORoleOwner=*))
Объект nTDSDSA связанный с ролью Владелец относительных идентификаторов. Позволяет определить контроллер домена с FSMO-ролью Владелец относительных идентификаторов (прим. 18). (&(objectClass=rIDManager)(fSMORoleOwner=*))
Объект nTDSDSA связанный с ролью владелец инфраструктуры. Позволяет определить контроллер домена с FSMO-ролью владелец инфраструктуры (прим. 18). (&(objectClass=infrastructureUpdate)(fSMORoleOwner=*))
Объект nTDSDSA связанный с ролью владелец доменных имен. Позволяет определить контроллер домена с FSMO-ролью владелец доменных имен(прим. 18). (&(objectClass=crossRefContainer)(fSMORoleOwner=*))
 Объект nTDSDSA связанный с ролью владелец схемы. Позволяет определить контроллер домена с FSMO-ролью владелец схемы (прим. 18). (&(objectClass=dMD)(fSMORoleOwner=*))
Все серверы Exchange в контейнере Configuration
(прим. 13)
(objectCategory=msExchExchangeServer)
Объекты, защищенные AdminSDHolder (adminCount=1)
Все отношения доверия (objectClass=trustedDomain)
Все объекты групповой политики (objectCategory=groupPolicyContainer)
Все контроллеры домена, доступные только для чтения (прим. 4) (userAccountControl:1.2.840.113556.1.4.803:=67

 

  1. AD LDAP sync Google Mail | Axl Blog - pingback on 08.05.2016 в 18:53

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

проверка * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Трэкбэки и Пингбэки: