LDAP Query根据属性获取用户

时间:2013-06-20 11:48:55

标签: ldap ldap-query

DC=abc,DC=COM
  OU=ABC
     OU=Users
        CN=User1
        CN=User2
        CN=User3
     OU=Computers
  OU=ABC1
     OU=Users
        CN=User4
        CN=User5
        CN=User6
     OU=Computers
  OU=ABC2
     OU=Users
        CN=User7
        CN=User8
        CN=User9
     OU=Computers

有一个名为employeeID的用户属性 employeeID记录中可以存在两种类型的值,一种是纯整数,另一种是以NE等字符开头

我想提取employeeID为数字的所有用户。

LDAP查询应该是什么,可以用来实现相同的

1 个答案:

答案 0 :(得分:4)

将基础对象设置为DN,搜索应从中返回条目,根据基础对象相对于所需条目的位置将范围设置为SUB或ONE,使用类似'(!(employeeID=NE*))'的过滤器和从每个条目返回的属性列表。提供大小限制和时间限制也是一种很好的做法。

使用ldapsearch的示例:

ldapsearch -h hostname -p port -b dc=abc,dc=com -s sub '(!(employeeID=NE*))' employeeID

dc=abc,dc=com下面的每个条目返回employeeID,其中employeeID与过滤器不匹配。还返回完全没有employeeID的条目,因此过滤器可能需要更具限制性,例如'(&(employeeID=*)(!(employeeID=NE*)))'

另见