创建查询筛选器
查询筛选器会指示 Active Directory 域服务通过 LDAP 查询语法来查找数据。 选择搜索技术主题中列出的所有指定数据访问技术均支持 LDAP 查询语法。
LDAP 查询语法如下:
<expression><expression>...
一个筛选器可包含一个或多个表达式。 表达式采用以下形式:
(<logicaloperator><comparison><comparison...>)
其中,“<logicaloperator>”为以下值之一。
运算符 | 说明 |
---|---|
"|" |
逻辑或 |
"&" |
逻辑与 |
"!" |
逻辑否 |
且“<comparison>”为以下值之一:
(<attribute><operator><value>)
其中,“<attribute>”为要求值的属性的 lDAPDisplayName,“<value>”为要与之比较的值,而“<operator>”则为以下比较运算符之一。
运算符 | 说明 |
---|---|
"=" |
等于 |
"~=" |
约等于 |
"<=" |
小于或等于 |
">=" |
大于或等于 |
此外,根据属性语法,“<value>”可能包含通配符符号(“*”)。 仅包含通配符的“<value>”会检查“<attribute>”中是否存在任何值。 如果没有为“<attribute>”设置任何值,测试则会失败。
如果以下特殊字符必须作为文字出现在查询筛选器中,则必须用列出的转义序列进行替换。
ASCII 字符 | 转义序列替换 |
---|---|
* |
"\2a" |
( |
"\28" |
) |
"\29" |
\ |
"\5c" |
NUL |
"\00" |
此外,还可使用转义序列语法来表示任意二进制数据,即用反斜线对二进制数据的每个字节进行编码,接着后跟两个十六进制数字。 例如,四字节值 0x00000004 会在筛选器字符串中编码为“\00\00\00\04”。
示例
以下查询字符串将搜索“computer”类型的所有对象。
(objectCategory=computer)
以下查询字符串将搜索“computer”类型的所有对象,且其名称以“desktop”开头。
(&(objectCategory=computer)(name=desktop*))
以下查询字符串将搜索“computer”类型的所有对象,且其名称以“desktop”开头或以“notebook”开头。
(&(objectCategory=computer)(|(name=desktop*)(name=notebook*)))
以下查询字符串将搜索附带家用电话号码的“user”类型的所有对象。
(&(objectCategory=user)(homePhone=*))
有关查询筛选器字符串的详细信息和用法示例,请参阅: