ldap查询语法以排除字母字符

时间:2014-12-03 18:38:07

标签: active-directory ldap

我正在尝试对此LDAP查询进行调整,以便过滤器中包含仅包含数字的employeeIDs,并跳过其他任何内容。 (!employeeID=\00)会抓住任何非空白的ID或我相信的null,但如何测试AD中的alpha或只是数字字符?感谢

-LdapFilter "(&(&(objectCategory=person)(objectClass=user)

(!userAccountControl:1.2.840.113556.1.4.803:=2))(&(objectCategory=person)(objectClass=user)

(!objectClass=inetOrgPerson))(sAMAccountName=s0*)(!sAMAccountName=*-d)(!sAMAccountName=*-e)

(!sAMAccountName=*-a)(!Name=Test*)(!Name=v-*)(!employeeID=\00))”

1 个答案:

答案 0 :(得分:1)

我认为我们不能使用搜索过滤器过滤掉非数字值 在这里找不到相关的过滤器:

http://msdn.microsoft.com/en-us/library/aa746475%28v=vs.85%29.aspx

相反,您可以使用更简单的过滤器来获取所有用户,将这些属性(例如employeeID,sAMAccountName等)添加到属性到加载列表中。然后在客户端过滤它。

此外,像attr=*sth这样的过滤器会很慢。该索引仅对相等(attr=sth)和开头(attr=sth*)有帮助。