LDAP query
Запрос | LDAP-фильтр |
Все пользователи | (&(objectCategory=person)(objectClass=us |
Все пользователи (прим. 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=us (cn=Вас*)) |
Объекты с описанием "Отдел IT Ижевск\Казань" (прим. 2) | (description=Отдел IT Ижевск\5CКазань) |
Группы с cn начинающимся на "Test" или "Admin" | (&(objectCategory=group(|(cn=Test*)(cn=A |
Все пользователи с заполненными именем и фамилией. | (&(objectCategory=person)(objectClass=us (givenName=*)(sn=*)) |
Все пользователи с указанным e-mail | (&(objectCategory=person)(objectClass=us (|(proxyAddresses=*:jsmith@company.com) (mail=jsmith@company.com))) |
Объекты с общим именем "Василий * Пупкин" (прим. 3) | (cn=Василий \2A Пупкин) |
Объекты с sAMAccountName, начинающимся на "x", "y", или "z" | (sAMAccountName>=x) |
Объекты с sAMAccountName начинающимся с "a" или цифры или символа, кроме "$" | (&(sAMAccountName<=a)(!sAMAccountName=$* |
пользователи с установленным параметром "Срок действия пароля не ограничен" (прим. 4) | (&(objectCategory=person)(objectClass=us (userAccountControl:1.2.840.113556.1.4.8 |
Все отключенные пользователи (прим. 4) | (&(objectCategory=person)(objectClass=us (userAccountControl:1.2.840.113556.1.4.8 |
Все включенные пользователи (прим. 4) | (&(objectCategory=person)(objectClass=us (!userAccountControl:1.2.840.113556.1.4.8 |
Пользователи, не требующие паролей (прим. 4) | (&(objectCategory=person)(objectClass=us (userAccountControl:1.2.840.113556.1.4.8 |
Пользователи с включенным параметром "Без предварительной проверки подлинности Kerberos" | (&(objectCategory=person)(objectClass=us (userAccountControl:1.2.840.113556.1.4.8 |
Пользователи с неограниченным сроком действия учетной записи (прим. 5) | (&(objectCategory=person)(objectClass=us (|(accountExpires=0) (accountExpires=9223372036854775807))) |
Учетные записи, доверенные для делегирования | (userAccountControl:1.2.840.113556.1.4.8 |
Чувствительные и недоверенные для делегирования учетные записи | (userAccountControl:1.2.840.113556.1.4.8 |
Все группы распространения (прим. 4, 15) | (&(objectCategory=group) (!groupType:1.2.840.113556.1.4.803:=2147 |
Все группы безопасности (прим. 4) | (groupType:1.2.840.113556.1.4.803:=21474 |
Все встроенные группы (прим. 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=us (msNPAllowDialin=TRUE)) |
Группы, созданные после 1 марта 2011 | (&(objectCategory=group) (whenCreated>=20110301000000.0Z)) |
Пользователи, обязанные изменить свой пароль при следующем входе в систему | (&(objectCategory=person)(objectClass=us (pwdLastSet=0)) |
Пользователи, сменившие свои пароли после 15.04.2011 (прим. 7) | (&(objectCategory=person)(objectClass=us (pwdLastSet>=129473172000000000)) |
Пользовали с "основной" группой, отличающейся от "Пользователи домена" | (&(objectCategory=person)(objectClass=us (!primaryGroupID=513)) |
Компьютеры с "основной" группой "Контроллеры домена" | (&(objectCategory=computer)(primaryGroup |
Объект с GUID "90395FB99AB51B4A9E9686C66CB18D99" (прим. 8) | (objectGUID=\90\39\5F\B9\9A\B5\1B\4A\9E\9 \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\0 \57\04\00\00) |
Компьютеры, не являющиеся контроллерами домена (прим. 4) | (&(objectCategory=computer) (!userAccountControl:1.2.840.113556.1.4.8 |
Все контроллеры домена (прим. 4) | (&(objectCategory=computer) (userAccountControl:1.2.840.113556.1.4.8 |
Все контроллеры домена (прим. 14) | (primaryGroupID=516) |
Все компьютеры с Windows Server | (&(objectCategory=computer) (operatingSystem=*server*)) |
Все с Windows Server, исключая контроллеры домена (прим. 4) | (&(objectCategory=computer) (operatingSystem=*server*) (!userAccountControl:1.2.840.113556.1.4.8 |
Прямые члены группы | (memberOf=cn=Test,ou=East,dc=Domain,dc=c |
Пользователя - не прямые члены указанной группы | (&(objectCategory=person)(objectClass=us (!memberOf=cn=Test,ou=East,dc=Domain,dc=c |
Группы с указанным прямым членом | (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 (Прим. 13) | (objectClass=siteLink) |
Объекты nTDSDSA связаные с глобальными каталогами. Позволяет определить контроллеры домена с глобальным каталогом. (Прим. 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)(fSM |
Объект nTDSDSA связанный с ролью владелец доменных имен. Позволяет определить контроллер домена с FSMO-ролью владелец доменных имен(прим. 18). | (&(objectClass=crossRefContainer)(fSMORo |
Объект 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.8 |
Примечания
1. Фильтр (sAMAccountType=805306368) более эффективен для объектов "пользователь"
2. Обратный слеш должен быть заменен на \5C
3. Астериск "*" должен быть заменена на \2A
4. Строка 1.2.840.113556.1.4.803 указывает LDAP_MATCHING_RULE_BIT_AND. Обозначает побитовое "И" атрибута флага, например userAccounControl, groupType или systemFlags и битовая маска (2, 32, 65536). Условие возвращает "Истину", когда побитовое "И" значения атрибута и битовой маски не равно нулю, что указывает на установку бита.
5. Атрибут accountExpires имеет тип Integer8, 64-битное значение, представляющее дату в UTC - количество интервалов в 100 наносекунд, начиная с 12:00 01.01.1601. Если срок действия учетной записи не ограничен, то атрибут accountExpires равен 0 или 2^63-1 (9,223,372,036,854,775,807 - наибольшее Interger64 число), оба значат "никогда".
6. При фильтрации атрибутов типа Boolean (булевые), например msNPAllowDialin или isMemberOfPartialAttributeSet, значения TRUE и FALSE должны быть введены в верхнем регистре.
7. Атрибут pwdLastSet имеет тип Integer8.
8. Байтовые массивы, например objectGUID, могут быть представлены как последовательность исключаемых шестнадцатеричных байтов. GUID {b95f3990-b59a-4a1b-9e96-86c66cb18d99} имеет hex-представление 90395fb99ab51b4a9e9686c66cb18d99". Порядок первых восьми байтов изменен.
9. objectSID хранится как байтовый массив. Можно указывать как десятичный формат S-1-5-21-73586283-152049171-839522115-11
10. Строка 1.2.840.113556.1.4.1941 указывает LDAP_MATCHING_RULE_IN_CHAIN. Применимо только к DN-атрибутам. Это расширенный оператор совпадения, проходящий по цепи наследования к корню до тех пор, пока не найдет совпадение. Выявляет вложенность групп. Доступен на контроллерах домена с Windows Server 2003 SP2 и более поздних версий.
11. Строка "anr" обозначает "неоднозначное разрешение имен" (Ambiguous Name Resolution). Подробнее здесь http://www.rlmueller.net/AmbiguousNameResolution.htm
12. Для запросов к атрибутам схемы нужно использовать поиск по контейнеру Schema, например, cn=Schema,cn=Configuration,dc=MyDomain,d
13. Для запросов к атрибутам конфигурации нужно использовать поиск по контейнеру Configuration, например cn=Configuration,dc=MyDomain,dc=com.
14. Основной группой для контроллеров домена должна быть "Контроллеры домена" с известным RID, равным 516.
15. Многие LDAP-фильтры различных типов групп AD могут использовать атрибут groupType и опускать условие (objectCategory=group), т.к. только группы имеют атрибут groupType. Например, фильтр (groupType=2) вернет все глобальные группы распространения. При использовании оператора "НЕТ", например (!groupType:1.2.840.113556.1.4.803:=2147
16. Может показаться, что LDAP-фильтр для встроенных групп безопасности может быть (groupType=2147483649) или (groupType=-2147483643). т.к. побитовое "ИЛИ" между 2147483648 (маска групп безопасности) и 1 (маска встроенных групп) даст обозначенный результат. Однако результат фильтра будет пустым, т.к. встроенные группы являются локальными в домене.Нужно применить "ИЛИ" между полученными значениями и "4" (маска локальных в домене групп). Результат (2147483643 ИЛИ 1 ИЛИ 4) = 2147483653, после вычитания 2^32 станет -2147483643. Можно использовать как (groupType=2147483653), так и (groupType=-2147483643) для получения встроенных локальных в домене групп безопасности. Однако, проще использовать фильтр по условию (groupType:1.2.840.113556.1.4.803:=1).
17. Атрибуты userAccountControl и groupType принимают целочисленные 32-битные значения, т.е. от -2^31 до 2^31 - 1 или от -2147483648 до 2147483647. Значения, назначенные этим атрибутам будут результатом побитового "ИЛИ" указанной маски для каждого значения. Например, значение groupType для для универсальной группы безопасности определяется применением "ИЛИ" к маске универсальной группы 8 и и группы безопасности 2147483648. Результат (8 ИЛИ 2147483648) равен 2147483656. Данное значение превышает допустимое для целочисленного 32-битного значения, поэтому оно обращается в отцательно число. 2147483656 становится -2147483640. Правило сделюущее - если целочисленное 32-битное поле превышает 2^31-1, то нужно вычесть из него 2^32 (4294967296). Таким образом groupType для универсальной грппы безопасности становится 2147967296 - 4294967296 = -2147483640. Это значение можно увидеть через "редактирование ADSI". Предпочтительно использование менно отрицательного значения, что является требованием для VBScript, т.к. его побитовые операторы могут обрабатывать только целочисленные 32-битные значения.
18. Существует 5 FSMO ролей. Для эмулятора PDC, владельца относительных эмуляторов и владельца инфраструктуры нужно опрашивать домен. Для владельца схемы нужно опрашивать контейнер schema, например cn=Schema,cn=Configuration,dc=MyDomain,d
Список литературы:
Active Directory: Использование LDAP-фильтров (ru-RU)
Оригинал статьи о фильтрах LDAP: Active Directory: LDAP Syntax Filters (en-US)
Синтаксис фильтров: http://msdn.microsoft.com/en-us/library/aa746475%28v=VS.85%29.aspx
Источник: https://bga68.livejournal.com/24636.html
Комментариев нет:
Отправить комментарий