架构实现

在 Active Directory 域服务中,类和属性定义分别作为 classSchemaattributeSchema 类的实例存储在目录中。 classSchemaattributeSchema 是在架构中定义的类。 若要作 Active Directory 架构,请使用用于作其他对象的同一 LDAP作。 由于架构是影响整个林的目录的关键部分,因此对架构扩展有特殊限制。 有关限制的详细信息,请参阅对架构扩展 限制。

总结架构实现:

  • classSchema 类的实例定义 Active Directory 域服务支持的每个对象类。 例如,classSchema 对象的属性(例如,其 mayContainmustContain 属性)描述对象类,其 userPrincipalNametelephoneNumber 属性描述该用户。 有关详细信息,请参阅 对象类特征。

  • attributeSchema 类的实例用于定义 Active Directory 域服务支持的每个属性。 例如,attributeSchema 对象的属性(例如,其 attributeSyntaxisSingleValued 属性描述属性,描述属性的方式与用户对象的属性描述该用户的方式相同。 有关详细信息,请参阅属性 特征。

  • attributeSchemaclassSchema 类的实例存储在目录中的已知位置(架构容器)。 架构容器始终具有格式的可分辨名称:

    CN=Schema,CN=Configuration,<DC=forestroot>
    

    其中“<DC=forestroot>”是林根的可分辨名称,例如“DC=Fabrikam,DC=Com”。

    若要获取架构容器的可分辨名称,请阅读 rootDSE 的 schemaNamingContext 属性。 有关 rootDSE 及其属性的详细信息,请参阅 无服务器绑定和 RootDSE

在考虑架构时,请记住:

  • 架构更改是全局的。 整个林有一个架构。 架构是全局复制的:该架构的副本存在于林中的每个域控制器上。 扩展架构时,请对整个林执行此作。
  • 架构添加不可逆。 将新类或属性添加到架构时,无法删除它。 可以禁用现有属性或类,但不能删除。 有关详细信息,请参阅 禁用现有类和属性
  • 禁用类或属性不会影响类或属性的现有实例,但会阻止创建新实例。 如果属性包含在未禁用的任何类中,则不能禁用该属性。