Создание фильтра запросов
Фильтр запросов предписывает службам домен Active Directory находить данные в синтаксисе запроса LDAP. Все указанные технологии доступа к данным, перечисленные в разделе выбора технологии поиска, поддерживают синтаксис запросов LDAP.
Синтаксис запроса LDAP выглядит следующим образом:
<expression><expression>...
Фильтр может содержать одно или несколько выражений. Выражение имеет следующую форму:
(<logicaloperator><comparison><comparison...>)
где "<логический оператор>" является одним из следующих.
Operator | Description |
---|---|
"|" |
Логическое ИЛИ |
"&" |
Логический И |
"!" |
Логический НЕ |
<и "сравнение>" — это следующее:
(<attribute><operator><value>)
где атрибут<> — это lDAPDisplayName атрибута для вычисления,<> значение — это значение для сравнения, а< оператор> — один из следующих операторов сравнения.
Operator | Description |
---|---|
"=" |
Равно |
"~=" |
Приблизительно равно |
"<=" |
Меньше или равно |
">=" |
Больше или равно |
Кроме того, в зависимости от синтаксиса атрибута значение<> может содержать дикий символ карта ("*"). <>Значение, содержащее только дикий карта будет проверка для существования любого значения в атрибуте<>. Если для атрибута<> не задано значение, тест завершится ошибкой.
Если любой из следующих специальных символов должен отображаться в фильтре запросов как литералы, они должны быть заменены указанной escape-последовательностью.
Символ ASCII | Замена escape-последовательности |
---|---|
* |
"\2a" |
( |
"\28" |
) |
"\29" |
\ |
"\5c" |
NUL |
"\00" |
Кроме того, произвольные двоичные данные могут быть представлены с помощью синтаксиса escape-последовательности путем кодирования каждого байта двоичных данных с обратной косой чертой и двумя шестнадцатеричными цифрами. Например, четырехбайтовое значение 0x00000004 закодировано как "\00\00\00\04" в строке фильтра.
Примеры
Следующая строка запроса будет искать все объекты типа "компьютер".
(objectCategory=computer)
Следующая строка запроса будет искать все объекты типа "компьютер" с именем, начинающимся с "desktop".
(&(objectCategory=computer)(name=desktop*))
Следующая строка запроса будет искать все объекты типа "компьютер" с именем, начинающимся с "desktop" или именем, начинающимся с "записной книжки".
(&(objectCategory=computer)(|(name=desktop*)(name=notebook*)))
Следующая строка запроса будет искать все объекты типа "пользователь", у которых есть номер домашнего телефона.
(&(objectCategory=user)(homePhone=*))
Дополнительные сведения о строках фильтра запросов и примерах использования см. в следующих статьях: