LDAP查询返回用户

时间:2016-04-15 22:22:56

标签: active-directory ldap

从一个专有名称,我试图使用LDAP检索Active Directory用户记录。这是我发送的查询...

(&(objectCategory=person)(objectClass=user)(CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL))

但是,这不会返回任何结果。

如果我使用......

(&(objectCategory=person)(objectClass=user)(CN=George Hutchins))

我得到了记录。我只想使用后一个查询,但如果有两个George Hutchins,那么我将得到2个记录而不是我正在寻找的记录。

有没有办法查询以获得具有专有名称的确切用户(CN = George Hutchins,OU = Contractors,DC = MYCO,DC = LOCAL)?顺便说一句,我知道这个字符串是正确的,因为我从Active Directory中的组记录(成员属性)中提取它。

2 个答案:

答案 0 :(得分:1)

完全可分辨名称在LDAP中始终是唯一的。

类似于:

的简单查询
(&(objectCategory=person)(objectClass=user))

并将搜索库设置为:

(CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL)

搜索范围:BASE (0)Search Request内应该有效。

-Jim

答案 1 :(得分:1)

您可以使用distinguishedName属性进行专门查询:

(distinguishedName=CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL)

原始查询不起作用的原因是由于此部分:(CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL)。要求AD返回的是LDAP对象,其CN属性的值为George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL。但是,CN对他来说只有George Hutchins