LDAP查询运算符

使用过滤器框可以构建查询。下表列出了最常用的 LDAP 查询运算符。

&	逻辑与
|	逻辑或
!	逻辑非
=	等于
~=	约等于
>=	等于或大于
<=	小于或等于
					

例如,如果您要搜索名为 John 并且姓为 Smith 或 Jones 的所有用户,则过滤器类似于下面这种形式:

(&(objectClass=user)(givenName=John)(|(sn=Smith)(sn=Jones)))
					

符号 !(“逻辑非”运算符)可以应用于单个条件,如以下示例所示:

(&(objectClass=user)(sn=Jones)(!givenName=John)(!givenName=Jane)(!logonCount<=100))
					

上述过滤器可查找姓为 Jones,名既不是 John 也不是 Mary 并且登录次数不少于 101 次的用户。

查询还支持星号通配符。以下搜索将返回姓以字母 J 开头的所有用户:

(&(objectClass=user)(sn=j*))
					

LDP 实用工具搜索操作不区分大小写,您可以在开头和结尾使用星号(*字符串*)来查找值中间的子字符串。完成此类搜索所需的时间要长很多。如果可能,请在开头或结尾使用通配符,但不要同时使用。

您可以使用通配符自身来测试是否存在给定的属性。如果您要查找所有不具有 Exchange Server 邮箱的用户,您可以使用以下查询来进行查找,因为这些用户缺少 msExchHomeServerName 值:

(&(objectClass=user)(!msExchHomeServerName=*))
					

查询中的转义字符是反斜杠 (\)。它与 * ( ) 和 NUL 都是保留字符。要搜索作为属性值的一部分的保留字符,必须在这些保留字符前面放置转义字符以及下列与各个保留字符相对应的数字代码之一:

*     2a
(     28
)     29
\     5c
NUL   00
					

例如,如果您要搜索显示名称以右括号字符结尾的所有用户,可使用以下搜索:

(&(objectClass=user)(displayName=*\29))
					

如果您要查找主目录为 G:\Accounting 的用户,可使用以下搜索:

(&(objectClass=user)(home-directory=G:\5cACCOUNTING*))
					

在 LDAP 查询中,反斜杠始终表示转义字符,而永远不会是实际的反斜杠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值