为了减少选择器 GUI 元素中的混乱,我需要一种方法 告知默认情况下随 AD 和 Exchange 一起提供的 OU(内置、架构 定义,安全性或其他什么(从这样管理员 创建是为了组织他们的域。例如,过滤器应 忽略 OU,例如:
OU=Domain Controllers,DC=example,DC=com
OU=Microsoft Exchange Security Groups,DC=example,DC=com
并且只让那些手动添加的通过。
到目前为止,我一直在调查systemFlags:
中的位 属性。 这些值尚无定论,但有些位例如不可移除性 为基本 AD 对象设置,但对于添加的对象不显示 通过交易所。
我不确定该属性本身是否可以存在于用户中 定义的 OU。如果没有,那将是一个足够的信号 基于筛选器。 不过,[MS-ADTS]
将其列为可选。
您无法在 LDAP 查询中按 OU 进行过滤,因为查询无法对distinguishedName
进行部分匹配(例如,这不起作用:(!disginguishedName=*OU=Domain Controllers*)
(
如果要排除某些 OU 中的对象,则有两个选项:
在查询之后,在您自己的代码中执行此操作,您可以在
distinguishedName
上进行部分比较,或者在所需的 OU 中进行单独搜索。您可以将每个查询中的搜索根设置为所需的 OU,然后对要包含的每个 OU 重复此操作。
根据您尝试搜索的内容和结果数量,第一种方法可能比第二种方法更快。