我的广告集成需要帮助。
我在系统中使用 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
我的广告集成需要帮助。
我在系统中使用 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
Active Directory 不支持基于 OU 的筛选器。在这种情况下,它是一些 LDAP 实现支持的“可扩展匹配过滤器”,但不是全部(包括 AD)。更多信息在这里。
顺便说一句distinguishedName
,如果您想尝试,您不能在 上进行通配符搜索。
老实说,这就是为什么最好将所有“个人”用户帐户放在一个 OU 中(可能进一步细分),将组放在另一个 OU 中,等等。在您的情况下,如果可以,移动可能是个好主意您在新 OU 下的“同步”帐户 OU。如果您有一个企业环境,那么在进行此类更改之前,您需要注意 OU 结构没有依赖关系。或者您可以识别任何此类依赖项并在进行更改之前或进行更改时修复它们。
否则,您需要将搜索库设为域的根目录。如果您有其他可用于搜索的用户帐户属性,例如部门名称或类似名称,则可以使用。如果是员工帐户,它们是否都有一个已填充的公共字段,例如“employeeID”或“streetAddress”之类的?或者您要排除的帐户是否具有特定的名称格式(例如所有以“SVC”开头的服务帐户)?通过组合这样的东西,你通常可以得到很好的结果。
最后,对于搜索普通用户帐户,更有效的基本查询是:
(samAccountType=805306368)
您对(objectCategory=person)
返回 User和Contact 对象的查询。确定它属性范围的常用方法是(&(objectClass=user)(objectCategory=person))
,但这两个子句使其效率低于我的建议(它也使用索引属性)。
LDAP 过滤器通常仅适用于用户条目中的属性。
如果要包含属于 DN(条目路径)一部分的属性,则需要使用可扩展的过滤器,例如:
(&(objectCategory=person)(|(ou:dn:=OU1)(ou:dn:=OU2)))
请注意,虽然这是标准 LDAP 过滤器,但并非所有服务器都支持它。