Небольшая заметочка о LDAP фильтрах.
На днях понадобилось сгрести с AD всех пользователей с почтовыми ящиками. Был применен такой фильтр: (&(objectClass=user)(objectCategory=PERSON)(mail=*@домен.ru)))
И в качестве небольшой шпаргалки:
Примеры:
(objectClass=*) | Для атрибута objectClass может быть использовано любое значение (т.е. вернутся все объекты). |
(&(objectCategory=person)(objectClass=user)(!cn=andy)) | Несколько фильтров объединены при помощи оператора «И». Вернутся только те объекты, у которых одновременно: атрибут objectCategory имеет значение «person», атрибут objectClass — значение «user», атрибут cn — значение, не равное «andy». |
(&(objectCategory=person)(objectClass=contact)(|(sn=Lee)(sn=Smith))) | Вернутся все объекты, у которых значение атрибута objectCategory равно «Person», objectClass — «contact», а значение атрибута sn равно либо «Lee», либо «Smith». |
Операторы, используемые в фильтрах поиска LDAP:
= | Равно. |
~= | Приблизительно равно. |
<= | Меньше или равно. |
>= | Больше или равно. |
& | И |
| | ИЛИ |
! | НЕ |
* | Групповой подстановочный символ (любое количество символов). |