Active Directory 中的 LDAP 查询

Active Directory 中的 LDAP 查询

我正在 Active Directory 中编写 LDAP 查询。

我想要在特定 OU 中的 Active Directory 中搜索用户。

我运行了 LDAP 查询(&(&(objectCategory=organizationalUnit)(objectClass=organizationalUnit)(ou=Hosted*)SAMAccountName=vvishwakarma)),但没有起作用

请记住,我想在特定 OU 中搜索 SAMaccount,而不是整个目录

答案1

首先,您使用了错误的 objectcategory 和 objectClass。除非有可能存在具有相同 samAccountname 的组,否则您可能可以完全省略 objectcategory 和 class。

这给你带来了什么?

(&(objectClass=user)(ou=Hosted*)(SAMAccountName=vvishwakarma))

答案2

我希望这至少可以解决你的一些问题。

您需要做的第一件事是删除不正确的 objectCategories 和 objectClasses。

接下来您应该将 searchDN 设置为您想要搜索的 OU 的根目录:

例如,如果您希望搜索:

domain.local
    |- OUNameLvl1
        |-OUNameLvl2

SearchDN=OU=OUNameLvl2,OU=OUNameLvl1,DC=domain,DC=local

然后你可以尝试:

(&(objectCategory=person)(objectClass=user)(sAMAccountName=vvishwakarma))

编辑:我刚刚意识到您说您在 Active Directory 中执行此操作。

如果使用 Active Directory 用户和计算机,您可以定义一个自定义查询,在其中执行与上述相同的操作 - 将搜索根放在您想要搜索的 OU,然后使用相同的 LDAP 查询。

答案3

好的,这是一个非常老的问题,但希望它仍然有用。

我通过将我的 ldap 查询库设置为有问题的 OU 来实现这一点。(来源)。

DN虽然您通常会将基数设置为所涉及的 DC,但我通过将基数设置为我想要的来使其工作OUOU=Ops,DC=Big,DC=Co,例如。

相关内容