Active Directory复制属性复制系统标志

时间:2015-04-29 13:20:10

标签: active-directory ldap ldap-query

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

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

  1. 系统标志位1表示不会复制属性。
  2. 系统标志位2表示属性将复制到“全局编录”
  3. 我是一名程序员,他使用AD作为基础架构团队提供的服务。所以我甚至不知道“全局目录”是什么,但我只是在寻找所有非复制属性,所以我可以查询所有域控制器,以便找到我需要的值。

    我运行了一个按位查询来查找其System-Flags中Bit 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)是如何工作的。

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

2 个答案:

答案 0 :(得分:0)

尝试

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

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

答案 1 :(得分:0)

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

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