域功能级别与目录林功能级别
域功能级别
域功能可以激活只影响整个域和以下域之一的功能。随着每个后续级别的提升,域功能将激活所包含的上一个域级别的功能。 以下列出了四种域功能级别及其相应的功能和所支持的域控制器。
Windows 2000 混合模式(默认)

支持的域控制器:Microsoft Windows NT 4.0、Windows 2000、Windows Server 2003
激活的功能:本地与全局组,全局编录支持
Windows 2000 纯模式

支持的域控制器:Windows 2000、Windows Server 2003
激活的功能:组嵌套、通用组、SidHistory、安全组与通讯组之间的转换、您可以通过提高目录林级别的设置来提升域级别
Windows Server 2003 过渡版

支持的域控制器:Windows NT 4.0、Windows Server 2003
支持的功能:在此级别内没有域范围的激活的功能。当目录林级别提升至过渡版后,该目录林中所有域都将自动提升至该级别。该模式只在将 Windows NT 4.0 域中的域控制器升级至 Windows Server 2003 域控制器时使用。
Windows Server 2003

支持的域控制器:Windows Server 2003
支持的功能:域控制器重命名、登录时间戳属性更新与复制。在 InetOrgPerson 对象类上支持用户密码。约束委派,您可以重定向用户和计算机容器。
从 Windows NT 4.0 升级的域或由基于 Windows Server 2003 的计算机经过提升而创建的域都在 Windows 2000 混合模式功能级别上操作。当 Windows 2000 域控制器升级到 Windows Server 2003 操作系统时,Windows 2000 域保持它们当前的域功能级别。您可以将域功能级别提升到 Windows 2000 纯模式或是 Windows Server 2003。
 
当域功能级别得到提升后,运行早期版本操作系统的域控制器将不能被引入到该域中。例如,如果您将域功能级别提升至 Windows Server 2003,则不能将运行 Windows 2000 Server 的域控制器添加到该域中。
 

目录林功能级别
目录林功能在目录林中所有的域上激活功能。下面列出了三种目录林功能级别及相应的功能和所支持的域控制器。
Windows 2000 (默认)

支持的域控制器:Windows NT 4.0、Windows 2000、Windows Server 2003
新功能:部分列表中包含了通用组缓存、应用程序分区、从媒体安装、配额,快速全局目录降级、系统访问控制列表 (SACL) 在 Jet 数据库引擎中的单一实例存储 (SIS),改进的拓扑生成事件日志记录。当将属性添加到 PAS 时,无需全局编目完全同步,Windows Server 2003 域控制器担当站点间拓扑生成器 (ISTG) 角色。
Windows Server 2003 过渡版

支持的域控制器:Windows NT 4.0、Windows Server 2003。请参见本文“从 Windows NT 4.0 域升级”一节。
激活的功能:Windows 2000 功能加上使用链接值复制的高效组成员复制,改进的复制拓扑生成。ISTG 活动属性不再被复制。添加至全局目录中的属性。ms-DS-Trust-Forest-Trust-Info、Trust-Direction、Trust-Attributes、Trust-Type、Trust-Partner、Security-Identifier、ms-DS-Entry-Time-To-Die、Message Queuing-Secured-Source、Message Queuing-Multicast-Address、Print-Memory、Print-Rate、Print-Rate-Unit
Windows Server 2003

支持的域控制器:Windows Server 2003
激活的功能:过渡版级别中的所有功能、不起作用的架构对象、跨林信任、域重命名、动态辅助类、InetOrgPerson 对象类更改、应用程序组、从 Windows 2000 升级的 Windows Server 2003 域控制器的 15 秒站点内复制频率
当目录林功能提升后,运行早期版本操作系统的域控制器将不能引入到该目录林中。例如,如果您将目录林功能提升至 Windows Server 2003,运行 Windows NT 4.0 或 Windows 2000 Server 的域控制器则不能添加到该目录林中。
复制的工作原理
复制的工作原理
为了保持所有域控制器上的目录数据一致和最新,Active Directory 会定期复制目录更改。复制根据标准网络协议进行,并使用更改跟踪信息防止发生不必要的复制,以及使用链接值复制以提高效率。
转移复制数据
Active Directory 使用支持 Internet 协议 (IP) 的远程过程调用 (RPC) 在域控制器之间转移复制数据。支持 IP 的 RPC 可用于站点间复制和站点内复制。为了保证传输中数据的安全性,支持 IP 的 RPC 复制同时使用身份验证(使用 KerberosV5 身份验证协议)和数据加密。
当直接或可靠的 IP 连接不可用时,可以对站点间的复制进行配置,使其使用简单邮件传输协议 (SMTP)。但是,SMTP 复制功能是受限的,它需要企业证书颁发机构 (CA)。SMTP 只能用来复制配置、架构和应用程序目录分区,它不支持域目录分区的复制。详细信息,请参阅 Microsoft Windows 资源工具包网站上的“Active Directory 复制”。
防止不必要的复制
当域控制器成功处理来自另一个域控制器的目录更改之后,它不应尝试将这些更改复制回发送这些更改的域控制器。另外,如果目标域控制器已经从不同的复制伙伴接收到同样的更新,该域控制器应避免将这些更新发送给其他域控制器。为防止发生此类不必要的复制,Active Directory 使用存储在目录中的更改跟踪信息。有关更改跟踪的信息,请参阅 Microsoft Windows 资源工具包网站上的“Active Directory 复制”。
解决冲突的更改
对于两个不同的用户,有可能对完全相同的对象属性进行更改,并在任一更改复制完成之前使这些更改应用到相同域中的两个不同域控制器上。在这种情况下,两个更改都会作为新更改来复制,这样就产生了冲突。为解决此冲突,接收这些冲突更改的域控制器会检查更改中包含的属性数据,每项更改都有一个版本和时间戳。域控制器将接受版本最高的更改,而丢弃其他更改。如果版本相同,域控制器将接受具有更近的时间戳的更改。
提高复制效率
正如在 Windows Server 2003 家族中采用的,链接值复制允许多值属性的个别值单独进行复制。在 Windows 2000 中,对组的成员进行更改时(具有链接值的多值属性的一个示例),必须复制整个组。通过链接值复制,只能复制已更改的组成员,不能复制整个组。要启用链接值复制,必须将林功能级别提升为 Windows Server 2003。有关林功能级别的详细信息,请参阅 域和林功能。有关多值属性的详细信息,请参阅 架构。
有关复制的工作原理的详细信息,请参阅 Microsoft Windows 资源工具包网站上的“Active Directory 复制”。
 
自动和手动配置域和林功能级别:
一.提升域功能级别
警告:如果您已有或将要有任何 Windows NT 4.0 或更早版本的域控制器,则不要提升域功能级别。一旦将域功能级别提升到 Windows 2000 纯模式或是 Windows Server 2003,则无法再更改回 Windows 2000 混合模式域。 1. 使用域管理员凭据登录到域 PDC 上。
2. 单击“开始”,指向“管理工具”,然后单击“Active Directory 域和信任关系”。
3. 在控制台树中,右键单击您想要提升功能的域,然后单击“提升域功能级别”。
4. 在“选择一个可用的域功能级别”中,请执行以下操作之一: • 单击“Windows 2000 纯模式”,然后单击“提升”以便把域功能级别提升到 Windows 2000 纯模式。

- 或 -
• 单击“Windows Server 2003”,然后单击“提升”以便把域功能级别提升到 Windows Server 2003。
注意:您也可以通过右键单击出现在 Active Directory 用户和计算机 MMC 管理单元中的域然后单击“提升域功能级别”,来提升域功能级别。要提升域功能级别,您必须是域管理员组的成员。

当前的域功能级别显示在“提升域功能级别”对话框的“当前域功能级别”中。级别提升在 PDC FSMO 上执行并要求域管理员权限。



提升目录林功能级别
警告:如果您已有或将要有运行 Windows NT 4.0 或 Windows 2000 的域控制器,则不要提升目录林功能级别。一旦将目录林功能级别提升到 Windows Server 2003,则无法再更改回 Windows 2000 目录林功能级别。 1. 使用企业管理员组成员用户帐户登录到目录林根域的 PDC 上。
2. 打开“Active Directory 域和信任关系”,单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“Active Directory 域和信任关系”。
3. 在控制台树中,右键单击“Active Directory 域和信任关系”,然后单击“提升目录林功能级别”。
4. 在“选择一个可用的目录林功能级别”下,单击“Windows Server 2003”,然后单击“提升”。

注意:要提升目录林功能级别,您必须升级(或降级)目录林中现有的所有 Windows 2000 域控制器。

如果您无法提升目录林功能级别,您可以在“提升目录林功能级别”对话框中单击“另存为”来保存一个日志文件,该文件指定了该目录林中哪些域控制器必须从 Windows NT 4.0 或 Windows 2000 进行升级。

如果您收到消息表明您不能提升目录林功能级别,可以使用由“另存为”命令生成的报表来标识不满足所请求的提升要求的所有域和域控制器。

当前目录林功能级别显示在“提升目录林功能级别”对话框的“当前目录林功能级别”中。在目录林级别成功地提升并复制到域中的 PDC 上以后,每个域的 PDC 会自动将其域级别提升到当前目录林级别。级别提升在架构 FSMO 上执行并要求有企业管理员凭据。



二.手动查看并设置功能级别
LDAP 工具(例如 Ldp.exe 和 Adsiedit.msc)可用来查看和修改当前域和目录林功能级别设置。由于所做的更改实际上都是先写到授权 FSMO 然后复制,所以当您手动修改属性时,最好针对提升的 FSMO 授权进行。
目录林级别设置
属性为 CN=Partitions, CN=Configuration, DC=ForestRootDom, DC=tld 对象上的 msDS-Behavior-Version。• 值 0 或未设置=混合级别目录林
• 值 1=Windows Server 2003 过渡版目录林级别
• 值 2=Windows Server 2003 目录林级别

注意:当您使用 ADSIEdit 将 msDS-Behavior-Version 属性从 0 提高到 1 时,您会收到以下错误消息:
修改操作非法。不允许该修改的某个方面。
单击“确定”以继续。分区容器和域头属性已正确提高。该错误消息不是由 Ldp.exe 文件报告的。您可以安全地忽略此错误消息。要验证级别是否已成功提升,请刷新属性列表并检查当前设置。如果您已经在授权 FSMO 上执行了提升级别操作,但没有将其复制到本地域控制器,该错误消息也可能会出现。
域功能级别设置
在每个域 DC=Mydomain, DC=ForestRootDom, DC=tld 对象的 NC 头根上的属性是 msDS-Behavior-Version。 • 值 0 或未设置=混合级别目录林
• 值 1=Windows Server 2003 域级别
• 值 2=Windows Server 2003 域级别

混合模式/纯模式设置
在每个域 DC=Mydomain, DC=ForestRootDom, DC=tld 对象的 NC 头根上的属性是 ntMixedDomain。 • 值 0=纯模式级别域
• 值 1=混合模式级别域

使用 Ldp.exe 文件快速查看当前设置
1. 启动 Ldp.exe 文件。
2. 在“连接”菜单上,单击“连接”。
3. 指定您想要查询的域控制器,或将该区域留空以连接任一域控制器。
当您连接后,会显示域控制器的 RootDSE 信息。包括目录林、域和域控制器。以下是一个 Windows Server 2003 域控制器的示例,域模式为 Windows Server 2003,目录林模式为 Windows 2000。

注意:域控制器功能代表该域控制器可以运行的最高功能级别,而不是该域控制器当前运行的功能级别。• 1> domainFunctionality:2=(DS_BEHAVIOR_WIN2003)
• 1> forestFunctionality:0=(DS_BEHAVIOR_WIN2000)
• 1> domainControllerFunctionality:2=(DS_BEHAVIOR_WIN2003)



手动更改功能级别时的要求
• 在 Windows Server 2003 中,如果直接修改 domainDNS 对象的 msdsBehaviorVersion 属性值,将域功能级别通过编程方式提升到 2,或者使用 Ldp.exe 或 Adsiedit.msc 实用工具将域功能级别提升到 2,则在提升域级别之前不必将域模式更改为纯模式。  
• 在 Windows Server 2003 Service Pack 1 (SP1) 中,如果直接修改 domainDNS 对象的 msdsBehaviorVersion 属性值,将域功能级别通过编程方式提升到 2,或者使用 Ldp.exe 或 Adsiedit.msc 实用工具将域功能级别提升到 2,则在提升域级别之前必须将域模式更改为纯模式。如果在 Windows Server 2003 SP1 中提升域级别之前没有将域模式更改为纯模式,则操作将无法成功完成,并且您将收到以下错误消息:
SV_PROBLEM_WILL_NOT_PERFORM
ERROR_DS_ILLEGAL_MOD_OPERATION
此外,在“目录服务”日志中您会收到以下消息:

Active Directory 无法更新下列域的功能级别,因为域处于混合模式。

在这种情况下,可通过使用“Active Directory 用户和计算机”管理单元、“Active Directory 域和信任关系”UI MMC 管理单元,或通过编程方式将 domainDNS 对象的 ntMixedDomain 属性值更改为 0,从而将域模式更改为纯模式。在 Windows Server 2003 中,如果使用此过程将域功能级别提升到 2,则域模式自动更改为纯模式。  
• 混合模式到纯模式的转换会将架构管理员和企业管理员安全组的范围改为通用组。这些组更改为通用组后,系统事件日志中会记录以下消息:
事件类型:信息
事件来源:SAM
事件 ID: 16408
计算机:Server Name
描述:“域操作模式被更改为纯模式。此更改不可逆。”

• 当使用 Windows Server 2003 管理工具调用域功能级别时,ntmixedmode 和 msdsBehaviorVersion 属性均按正确顺序进行修改。但是,如果控制域功能模式的 msdsBehaviorVersion 属性被手动或通过编程方式设置为 2,然后使用任意方法将目录林功能级别设置为 2,那么纯模式将隐式设置为 2,而不用将架构管理员组和企业管理员组的范围更改为通用。安装了 Windows Server 2003 SP1 的域控制器将阻止转换为目录林功能级别,直到处于纯模式下并在所有域中配置了对安全组范围的必要更改。  
• 当域处于纯模式时,不能更改 domainDNS 对象的 msdsBehaviorVersion 属性。在这种情况下,必须首先确认域处于纯模式下,再将 domainDNS 对象的 ntMixedDomain 属性值更改为 0,然后才能更改 domainDNS 对象的 msdsBehaviorVersion 属性。