创建查询筛选器

查询筛选器会指示 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=*))

有关查询筛选器字符串的详细信息和用法示例,请参阅: