可以给这些对象分配属性(如电话号码、房间位置等等),并可用这些属性查找目录数据库中对象的位置。随着 Active Directory 架构的扩大(修改),使用属性进行搜索就变得越来越重要了。当将对象、对象类和/或这些对象的属性添加到目录数据库中时,对于目录用户而言,它们的结构决定了它们的用途。
目录树中的每个容器和对象都有一个唯一的名称。这些名称空间是目录树中所有容器和对象、或分支和叶对象的完全路径。对象在目录树中的位置决定了其可分辨的名称。
对象的可分辨名称 (DN) 包含从特定名称空间的顶层到整个目录树层次结构的完整路径。因为 DN 对于组织目录数据库非常有用,但对于记住该对象没有帮助,所以在 Active Directory 中也使用相对可分辨的名称 (RDN)。RDN 是对象名的一部分,也是对象本身的一个属性。
很多网络使用的名称空间是基于当前 Internet 上使用的域名系统 (DNS)。这种 DNS 关系有助于确定 Active Directory 目录树的形状以及对象彼此之间的关系。域控制器项目是可分辨名称中列出的域,而公用名称 (CN) 项目则是针对目录中用户对象的特定路径。
全局编录
全局编录包含目录中每个 Windows 2000 域的部分副本,它是由 Active Directory 复制系统自动创建的。这样,只要给出目标对象的一个或几个属性,用户和应用程序就可以在 Active Directory 域目录树中找到这些对象。全局编录还包含目录分区的架构和配置。这就是说,全局编录存储 Active Directory 中每个对象的副本,但只存储它们的很少一部分属性。全局编录中的属性是搜索*作中那些最常使用的属性(如用户的名和姓、登录名等等),这些属性是查找对象完整副本位置所必需的。
使用这种公用信息,用户可以很快找到要找的对象,而无需知道这些对象在哪个域中,也不要求知道企业中相邻的扩展名称空间。如果在全局编录中找不到该对象,则搜索功能将查询本地域分区以获得信息。
您可以使用架构管理器工具更改架构,并定义在全局编录中存储哪些属性。由于对所有全局编录服务器进行的更改都要复制全局编录,所以出于性能和维护的目的,最好限制本地分区中存储的属性数量。
DNS 与 AD 的集成
DNS 和 Active Directory 的集成是 Windows 2000 Server 的一个核心特征。DNS 域和 Active Directory 域对不同的名称空间使用完全相同的域名。即使两个名称空间共享相同的域结构,它们也是不同的名称空间,了解这一点是非常重要的。每个名称空间存储不同的数据并管理不同的对象。DNS 使用区域和资源记录,而 Active Directory 使用域和域对象。
例如,如果对象的某个属性是服务器的完全合格域名(如 SERVER1.SALES.MYCOMPANY.COM),Active Directory 就会向 DNS 查询该服务器的 TCP/IP 地址,Windows 2000 请求者随后可以建立与该服务器的 TCP/IP 会话。
Active Directory 与 DNS 的集成是这样实现的:每个 Active Directory 服务器将自己的地址发布在 DNS 主机上的服务资源记录中。
全球唯一标识符
因为网络中的每个对象必须用唯一的属性来标识,所以 Active Directory 通过将全局唯一标识符 (GUID) 与每个对象关联起来实现这一点。即使对象的逻辑名称被更改,也应保证这个号码是唯一的且永远不会被目录数据库更改。当用户或应用程序首次在目录中创建可分辨的名称 (DN) 时,就会生成 GUID。
复制
虽然 Windows NT 4.0 中的网络结构基于 PDC 和 BDC 模型,但是 Windows 2000 网络上的所有服务器均用作域控制器 (DC),并且彼此之间没有主次之分。对于 Active Directory,所有 DC 在站点中自动复制,并支持多主机复制,以复制所有域控制器的 Active Directory 信息。由于引入了多主机复制,管理员可以更新域中任何 Windows 2000 域控制器上的 Active Directory。
多主机数据库复制还有助于控制何时将更改同步,哪些信息是最新的,以及何时停止数据复制以避免重复和冗余。为确定哪些信息需要更新,Active Directory 使用 64 位更新顺序号 (USN)。这些号码创建后与所有的属性相关联。每次更改一个对象之后,其 USN 都会递增并与属性一起保存。
每个 Active Directory 服务器都保留站点内所有复制伙伴的最新 USN 的表格。该表格包括每个属性的最高 USN。 当达到复制时间间隔时,则每个服务器只请求那些 USN 比列在自己表格中的 USN 大的更改。
有时,在复制所有的更改之前,可能在两个不同的 Active Directory 服务器上对同一属性进行了更改。这就会导致复制冲突。必须将其中一个更改声明为更准确的更改,并将此更改用作所有其他复制伙伴的复制源。为解决这种潜在的问题,Active Directory 使用了整个站点的属性版本号 (PVN) 值。当发生起始写入操作时,PVN 就会递增。起始写入操作就是直接在某个特定 Active Directory 服务器上发生的写入操作。
当在不同位置的具有相同的 PVN 的两个或多个属性值被更改时,接收更改的 Active Directory 服务器就会对每个更改的时间戳进行检查,并使用最新的一个进行更新。此问题的最重要分枝是网络中心时钟的安装和维护。
另一个复制问题就是循环。Active Directory 可使管理员配置多个路径以达到冗余的目的。为了避免更改无止境地更新下去,Active Directory 在每个服务器上创建 USN 对的列表。这些列表被称为最新矢量 (UDV)。它们保存每个起始写入操作的最高 USN。每个 UDV 均列出在其所在的站点中的所有其他服务器。当发生复制时,请求服务器就把自己的 UDV 发送到发送服务器。每个起始写入操作的最高 USN 都可用来确定是否仍需要复制更改。如果 USN 号码相同或更高,则不需要进行更改,因为请求的服务器已经被更新了。
组的更改
Active Directory 的逻辑规划过程的另一个方面就是组的概念。在 Windows NT 4.0 中,管理员可以使用两个基本的组类型,即本地和全局。考虑到这种结构固有的限制,Windows 2000 为网络管理员提供了以下组,其功能更强大并且灵活性更高
• 作用域为本地的组(也称为“本地组)
• 作用域为域本地的组(也称为“域本地组)
• 作用域为全局的组(也称为“全局组)
• 作用域为通用的组(也称为“通用组)
一个值得注意的重要修改是,全局组现在可以包含其它的全局组。虽然全局组仍用于收集用户,但是它能够将一个组放在另一个组之内,从而使管理员可以将它们放在目录林的任何地方,使得维护非常方便。但是,全局组只能包括来自 Active Directory 目录林中某个域的用户和组。
因为很多网络混用 Windows 2000 和 Windows NT 4.0 服务器,所以在创建组之前,必须确定网络上域的数量和类型以及哪些域是混合模式,哪些域是本地模式:
• 混合模式域。默认情况下,Windows 2000 操作系统以混合模式网络配置进行安装。混合模式域是网络上的一组计算机,它们同时运行 Windows NT 4.0 和 Windows 2000 域控制器。(混合模式域也可以只运行 Windows 2000 域控制器。)
• 本地模式域。当域只包含 Windows 2000 Server 域控制器时,可以将该域转换成本地模式。
通用组(Windows 2000 的新增功能)可以包含目录林中任何目录树中的所有其它组和用户,并且可以与目录林中任何访问控制列表 (ACL) 一起使用。
可以组合使用全局组、域本地组和通用组,以控制对网络资源的访问。全局组的基本用途是把用户组织到代表其相应域的管理容器之中。通用组可以用于包括来自各种域的全局组,进而在授予权限时进一步管理域层次结构。可以全局组添加到通用组中,然后给资源在物理上所在域本地组分配权限。使用这些方法创建组,管理员就可以在每个域的全局组中添加或删除用户,对整个企业资源的访问进行控制,而无需在多个位置进行更改。