Небольшая заметочка о 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:
| = | Равно. |
| ~= | Приблизительно равно. |
| <= | Меньше или равно. |
| >= | Больше или равно. |
| & | И |
| | | ИЛИ |
| ! | НЕ |
| * | Групповой подстановочный символ (любое количество символов). |