【问题标题】:Active Directory Replicated Attributes Replication System FlagsActive Directory 复制属性 复制系统标志
【发布时间】:2015-04-29 13:20:09
【问题描述】:

在 Active Directory 架构中,属性条目具有“系统标志”属性,该属性指示属性的一些选项,包括跨域控制器的复制。

https://msdn.microsoft.com/en-us/library/ms680022%28v=vs.85%29.aspx的备注部分我发现

  1. System-Flags Bit 1 表示不会复制属性。
  2. System-Flags Bit 2 表示属性将被复制到“全局编录”

我是一名程序员,使用 AD 作为基础架构团队提供的服务。所以我什至不知道“全局目录”是什么,但我只是在寻找所有非复制属性,这样我就可以查询所有域控制器以找到我需要的值。

我运行了一个按位查询来查找在其系统标志中位 1 为 ON 的所有非复制属性。我得到了一个属性列表。

(&(objectCategory=attributeSchema)(systemFlags:1.2.840.113556.1.4.803:=1))

我想通过查询被复制的属性而不是通过检查第 1 位和第 2 位都为 ON 的属性来测试其一致性。

(&(objectCategory=attributeSchema)(&(systemFlags:1.2.840.113556.1.4.803:=1)(systemFlags:1.2.840.113556.1.4.803:=2)))

我认为对复制和非复制属性的无意义查询的第二个查询不会返回任何结果,但它确实返回了 14 个属性(包括Object-Guid)。现在我想知道基础架构团队是否犯了错误,或者我对 AD(或一般的 LDAP)的工作方式有误解。

这是一个错误还是我需要知道什么?

【问题讨论】:

标签: active-directory ldap ldap-query


【解决方案1】:

试试

(&(objectCategory=attributeSchema)(systemFlags:1.2.840.113556.1.4.803:=3))

这表示第 1 位和第 2 位都已设置。

【讨论】:

  • 谢谢,但这在语义上与我的查询相同 (&(systemFlags:1.2.840.113556.1.4.803:=1)(systemFlags:1.2.840.113556.1.4.803:=2)) 无论如何我试了一下,结果一样:14个属性。我想知道为什么在不应该有结果的情况下会有结果。
  • 我也得到了 object-guid。
  • 我在该 ldap 查询中看不到 object-guid
  • 我的显示 cn: Object-Guid systemFlags: 19(即 00010011,与搜索匹配)我也得到 14。
  • 对不起,我误解了你的话。所以你说你得到一个结果,其中有属性“object-guid”作为复制+非复制属性。但问题是,object-guid 是如何被复制的?感谢您向我展示我不是唯一获得这些结果的人!
【解决方案2】:

全局目录是一种多域目录,无需域名即可更快地搜索对象。它通过使用存储在域控制器中的部分只读副本来帮助从任何域中定位对象。由于它仅使用部分信息和一组最常用于搜索的属性,因此来自所有域的对象,即使是在大森林中,也可以由全局编录服务器的单个数据库表示。

因此您的查询返回全局目录部分属性集中的属性和未复制的属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多