LDAP用户过滤器

时间:2019-03-29 02:36:44

标签: active-directory ldap spiceworks

我需要有关AD集成的帮助。

我正在将Spiceworks用于该系统,并且其中一部分用于AD集成。

问题是我需要同步两个不同的OU

用于LDAP搜索的基本DN: DC = dc1,DC = dc2

LDAP用户过滤器: (&(objectCategory = person)(|(ou = OU1)(ou = OU2)))

它不起作用。

我的广告结构是

dc1.dc2 — OU1 — OU2 — OU3

dc1.dc2是最高级别。 OU1,OU2,OU3处于同一级别。

原因是我不想在同步中包含OU3

2 个答案:

答案 0 :(得分:0)

LDAP过滤器通常仅适用于用户条目中的属性。

如果要包括属于DN(条目路径)一部分的属性,则需要使用可扩展的过滤器,例如:

(&(objectCategory=person)(|(ou:dn:=OU1)(ou:dn:=OU2)))

请注意,尽管这是标准的LDAP过滤器,但并非所有服务器都支持。

答案 1 :(得分:0)

Active Directory不支持基于OU的筛选器。在这种情况下,它是某些LDAP实现支持的“可扩展匹配过滤器”,但并非全部(包括AD)都支持。 More info here

如果想尝试,不能在distinguishedName上进行通配符搜索。

说实话,这就是为什么最好将所有“个人”用户帐户都放在一个OU中(可能进一步细分),在另一个OU中进行分组等。在您的情况下,如果可以的话,将您的“同步”帐户OU移到新OU下的想法。如果您具有企业环境,则在进行此类更改之前,请务必注意OU结构没有依赖性。或者,您可以识别任何此类依赖性并在进行更改之前或之时对其进行修复。

否则,您需要将您的搜索库设为域的根。如果您还有其他用户帐户属性,则可以使用它进行搜索,例如部门名称或类似名称。如果是员工帐户,它们是否都有一个填充的公用字段,例如“ employeeID”或“ streetAddress”或其他内容?还是要排除的帐户具有特定的名称格式(例如,所有以“ SVC”开头的服务帐户)?通过将类似的东西结合起来,通常可以使它变得非常好。

最后,对于搜索普通用户帐户,更有效的基本查询是:

(samAccountType=805306368)

您对(objectCategory=person)的查询返回用户联系人对象。对其属性进行范围界定的常用方法是(&(objectClass=user)(objectCategory=person)),但是这两个子句使它的效率不如我的建议(它也使用索引属性)。