如何仅查询ADAS林中的特定LDAP域

时间:2019-02-20 21:26:52

标签: active-directory ldap ldap-query

我遇到一种情况,在我的应用程序中,通过3269端口查询Global Catalog以获取DN,它总是希望为每个用户查询提供唯一的结果,并且如果该结果对于同一个用户而言不止一个CN,则抛出异常。是一个以上AD组的一部分)。我想通过仅查询林中完整域中的2个域来避免这种情况,请指导我是否可以通过Global Catalog查询中的任何过滤器来实现,或者可以同时查询两个域,谢谢

1 个答案:

答案 0 :(得分:0)

查询全局编录时,不可能仅包含来自林中特定域的结果。

有一些属性包含帐户的域,但是在查询中不能使用它们。 distinguishedName当然具有域DN,但是AD不允许您查询distinguishedName上的部分匹配项(例如,(distinguishedName=*DC=domain,DC=com)无效)。

还有属性msDS-PrincipalNameDOMAIN\username格式)和canonicalNamedomain.com/Users/TheUser格式),但它们都是构造的属性,它们是在当时计算的您需要它们,因此它们不能在查询中使用。

可以做两件事:

  1. 查询全局目录,然后丢弃不需要的域中的结果。您可以通过检查distinguishedNamemsDS-PrincipalNamecanonicalName的域部分来做到这一点。 (由于后两个是构造的属性,因此您必须要求在搜索中返回它们,否则就不会出现)
  2. 请勿使用全局目录。分别查询两个域。

选项1可能会更快,因为您只进行一次搜索,而不是两次。