如何将 Windows 2000 域控制器升级到 Windows Server 2003

本文介绍如何将 Microsoft windows 2000 域控制器升级到 Windows Server 2003,以及如何将新的 Windows Server 2003 域控制器添加到 Windows 2000 域。

原始 KB 数: 325379

总结

本文介绍如何将 Microsoft windows 2000 域控制器升级到 Windows Server 2003,以及如何将新的 Windows Server 2003 域控制器添加到 Windows 2000 域。 有关如何将域控制器升级到 Windows Server 2008 或 Windows Server 2008 R2 的详细信息,请访问以下Microsoft网站:

升级域控制器:Microsoft 支持部门将 Windows Server 2008 或 Windows Server 2008 R2 域控制器添加到现有域的快速入门

域和林清单

在将 Windows 2000 域控制器升级到 Windows Server 2003 或将新的 Windows Server 2003 域控制器添加到 Windows 2000 域之前,请执行以下步骤:

  1. 清点访问托管 Windows Server 2003 域控制器的域中资源的客户端,以便与 SMB 签名兼容:

    每个 Windows Server 2003 域控制器都支持在其本地安全策略中登录 SMB。 请确保可以使用 SMB/CIFS 协议访问托管 Windows Server 2003 域控制器的域中的共享文件和打印机的所有网络客户端都可以配置或升级以支持 SMB 签名。 如果无法,请暂时禁用 SMB 签名,直到安装更新或客户端升级到支持 SMB 签名的较新的操作系统。 有关如何禁用 SMB 签名的信息,请参阅此步骤末尾的“ 禁用 SMB 签名 ”部分。

    行动计划

    以下列表显示了常用 SMB 客户端的行动计划:

    • Microsoft Windows Server 2003、Microsoft Windows XP Professional、Microsoft Windows 2000 Server、Microsoft Windows 2000 Professional 和 Microsoft Windows 98

      无需执行任何操作。

    • Microsoft Windows NT 4.0 在访问包含基于 Windows Server 2003 的计算机的所有基于 Windows NT 4.0 的计算机上安装 Service Pack 3 或更高版本(Service Pack 6A)。 而是暂时禁用 Windows Server 2003 域控制器上的 SMB 签名。 有关如何禁用 SMB 签名的信息,请参阅此步骤末尾的“ 禁用 SMB 签名 ”部分。

    • Microsoft Windows 95

      在基于 Windows 95 的计算机上安装 Windows 9 x 目录服务客户端,或在 Windows Server 2003 域控制器上暂时禁用 SMB 签名。 Windows 2000 Server CD-ROM 上提供了原始 Win9 x 目录服务客户端。 但是,该客户端加载项已替换为改进的 Win9 x 目录服务客户端。 有关如何禁用 SMB 签名的信息,请参阅此步骤末尾的“ 禁用 SMB 签名 ”部分。

    • MS-DOS 和 Microsoft LAN Manager 客户端Microsoft网络客户端

      MS-DOS 和 Microsoft LAN Manager 2.x 网络客户端Microsoft网络客户端可用于提供对网络资源的访问,或者它们可与可启动软盘结合使用,以从文件服务器上的共享目录复制操作系统文件和其他文件作为软件安装例程的一部分。 这些客户端不支持 SMB 签名。 使用替代安装方法,或禁用 SMB 签名。 有关如何禁用 SMB 签名的信息,请参阅此步骤末尾的“ 禁用 SMB 签名 ”部分。

    • Macintosh 客户端

      某些 Macintosh 客户端与 SMB 签名不兼容,在尝试连接到网络资源时将收到以下错误消息:

      - 错误 -36 I/O

      安装更新的软件(如果可用)。 否则,请在 Windows Server 2003 域控制器上禁用 SMB 签名。 有关如何禁用 SMB 签名的信息,请参阅此步骤末尾的“ 禁用 SMB 签名 ”部分。

    • 其他第三方 SMB 客户端

      某些第三方 SMB 客户端不支持 SMB 签名。 请咨询 SMB 提供程序,查看更新的版本是否存在。 否则,请在 Windows Server 2003 域控制器上禁用 SMB 签名。

    禁用 SMB 签名

    如果无法在运行 Windows 95、Windows NT 4.0 或安装 Windows Server 2003 之前安装的其他客户端上安装软件更新,请在组策略中暂时禁用 SMB 服务签名要求,直到可以部署更新的客户端软件。

    可以在域控制器组织单位上禁用以下节点的默认域控制器策略的 SMB 服务登录:计算机配置\Windows 设置\安全设置\本地策略\安全选项\Microsoft网络服务器:

    数字签名通信(始终)

    如果域控制器不在域控制器的组织单位中,则必须将默认域控制器的组策略对象(GPO)链接到托管 Windows 2000 或 Windows Server 2003 域控制器的所有组织单位。 或者,可以在链接到这些组织单位的 GPO 中配置 SMB 服务登录。

  2. 清点域中和林中的域控制器:

    1. 请确保林中的所有 Windows 2000 域控制器都安装了所有相应的修补程序和服务包。

      Microsoft建议所有 Windows 2000 域控制器运行 Windows 2000 Service Pack 4(SP4)或更高版本的操作系统。 如果无法完全部署 Windows 2000 SP4 或更高版本,则所有 Windows 2000 域控制器 都必须 具有一个Ntdsa.dll文件,其日期戳和版本晚于 2001 年 6 月 4 日和 5.0.2195.3673。

      默认情况下,Windows 2000 SP4、Windows XP 和 Windows Server 2003 客户端计算机上的 Active Directory 管理工具使用轻型目录访问协议(LDAP)签名。 如果此类计算机在远程管理 Windows 2000 域控制器时使用 (或回退到) NTLM 身份验证,则连接将不起作用。 若要解决此行为,远程管理的域控制器应至少安装了 Windows 2000 SP3。 否则,应在运行管理工具的客户端上关闭 LDAP 签名。

      以下方案使用 NTLM 身份验证:

      • 你可以管理位于由 NTLM(非 Kerberos)信任连接的外部林中的 Windows 2000 域控制器。
      • 你可以将Microsoft管理控制台(MMC)管理单元集中在 IP 地址引用的特定域控制器上。 例如,单击“开始,单击“运行,然后键入以下命令:dsa.msc /server=ipaddress

      若要确定 Active Directory 域中 Active Directory 域控制器的操作系统和 Service Pack 修订级别,请在林中的 Windows XP Professional 或 Windows Server 2003 成员计算机上安装 Windows Server 2003 版本的 Repadmin.exe,然后在林中的每个域中对域控制器运行以下命令 repadmin

      >repadmin /showattr <name of the domain controller that is in the target domain> ncobj:domain: /filter:"(&(objectCategory=computer)(primaryGroupID=516))" /subtree /atts:operatingSystem,operatingSystemVersion,operatingSystemServicePack
      
      DN: CN=NA-DC-01,organizational unit=Domain Controllers,DC=company,DC=com
       1> operatingSystem: Windows Server 2003
       1> operatingSystemVersion: 5.2 (3718)
      DN: CN=NA-DC-02,organizational unit=Domain Controllers,DC=company,DC=com
       1> operatingSystem: Windows 2000 Server
       1> operatingSystemVersion: 5.0 (2195)
       1> operatingSystemServicePack: Service Pack 1
      

      注意

      域控制器的属性不会跟踪各个修补程序的安装。

    2. 验证整个林中的端到端 Active Directory 复制。

      验证升级林中的每个域控制器是否与合作伙伴一致地复制其本地保存的所有命名上下文,以及站点链接或连接对象定义的计划。 在林中使用基于 Windows XP 或 Windows Server 2003 的成员计算机上的 Windows Server 2003 版本Repadmin.exe,其参数如下:林中的所有域控制器必须复制 Active Directory 且 repadmin 输出的“最大增量”列中的值不应明显大于给定目标域使用的相应站点链接或连接对象上的复制频率控制器。

      解决域控制器之间的所有复制错误,这些域控制器的入站复制时间少于逻辑删除生存期(TSL)天数(默认情况下为 60 天)。 如果无法使复制正常运行,可能需要强行降级域控制器,并使用 Ntdsutil 元数据清理命令将其从林中删除,然后将其提升回林中。 可以使用强制降级来保存操作系统安装和孤立域控制器上的程序。 有关如何从其域中删除孤立的 Windows 2000 域控制器的详细信息,请单击以下文章编号以查看Microsoft知识库中的文章:

      216498 域控制器降级失败后如何删除 Active Directory 中的数据

      仅将此操作作为恢复操作系统和已安装程序的安装的最后手段。 你将丢失孤立域控制器上的未复制对象和属性,包括用户、计算机、信任关系、其密码、组和组成员身份。

      在尝试解决域控制器上的复制错误时,如果域控制器未复制特定 Active Directory 分区的入站更改超过 逻辑删除时间 天数,请小心。 执行此操作时,可以重新更新在一个域控制器上删除的对象,但对于该域控制器,直接复制合作伙伴或可传递复制合作伙伴在之前的 60 天内从未收到删除。

      请考虑删除驻留在过去 60 天内未执行入站复制的域控制器上的任何挥之不去的对象。 或者,可以强制降级域控制器,这些域控制器在逻辑删除生存期天数中未对给定分区执行任何入站复制,并使用 Ntdsutil 和其他实用工具从 Active Directory 林中删除其剩余元数据。 请联系支持提供商或Microsoft PSS 获取其他帮助。

    3. 验证 Sysvol 共享的内容是否一致。

      验证组策略的文件系统部分是否一致。 可以使用资源工具包中的Gpotool.exe来确定域中的策略是否不一致。 使用 Windows Server 2003 支持工具中的 Healthcheck 来确定 Sysvol 共享副本集在每个域中是否正常运行。

      如果 Sysvol 共享的内容不一致,请解决所有不一致问题。

    4. 使用支持工具中的Dcdiag.exe来验证所有域控制器是否共享了 Netlogon 和 Sysvol 共享。 为此,请在命令提示符处键入以下命令:

      DCDIAG.EXE /e /test:frssysvol
      
    5. 清点操作角色。

      架构和基础结构操作主机用于向林及其域(由 Windows Server 2003 adprep 实用工具创建的域)引入林和域范围的架构更改。 验证承载林中每个域的架构角色和基础结构角色的域控制器是否驻留在实时域控制器上,并且每个角色所有者自上次重启以来已对所有分区执行入站复制。

      DCDIAG /test:FSMOCHECK 命令可用于查看林范围和域范围的操作角色。 驻留在不存在的域控制器上的操作主角色应使用 NTDSUTIL 抓住正常的域控制器。 如果可能,应传输驻留在不正常域控制器上的角色。 否则,应缴获它们。 该 NETDOM QUERY FSMO 命令不标识驻留在已删除的域控制器上的 FSMO 角色。

      验证自上次启动以来是否已执行 Active Directory 的入站复制。 可以使用命令验证 REPADMIN /SHOWREPS DCNAME 入站复制,其中 DCNAME 是 NetBIOS 计算机名称或域控制器的完全限定的计算机名称。 有关操作母版及其位置的详细信息,请单击以下文章编号以查看Microsoft知识库中的文章:

      197132 Windows 2000 Active Directory FSMO 角色

      223346 Active Directory 域控制器上的 FSMO 放置和优化

    6. EventLog 审阅

      检查所有域控制器上的事件日志,了解有问题的事件。 事件日志不得包含指示以下任何进程和组件出现问题的严重事件消息:

      物理连接
      网络连接
      名称注册
      名称解析
      身份验证
      组策略
      安全策略
      磁盘子系统
      schema
      拓扑
      复制引擎

    7. 磁盘空间清单

      承载 Active Directory 数据库文件的卷 Ntds.dit 必须具有至少等于 Ntds.dit 文件大小的 15-20% 的可用空间。 承载 Active Directory 日志文件的卷还必须具有至少 15-20% 的 Ntds.dit 文件大小的可用空间。 有关如何释放其他磁盘空间的详细信息,请参阅本文的“无足够磁盘空间的域控制器”部分。

    8. DNS 清理(可选)

      为林中的所有 DNS 服务器启用 7 天的 DNS 清理。 为了获得最佳结果,请在升级操作系统前 61 天或更多天执行此操作。 这样,当对 Ntds.dit 文件执行脱机碎片整理时,这为 DNS 清理守护程序提供了足够的时间来垃圾回收过期的 DNS 对象。

    9. 禁用 DLT 服务器服务(可选)

      在 Windows Server 2003 域控制器的新安装和升级安装上禁用 DLT Server 服务。 如果未使用分布式链接跟踪,则可以在 Windows 2000 域控制器上禁用 DLT Server 服务,并开始从林中的每个域中删除 DLT 对象。 有关详细信息,请参阅Microsoft知识库中的以下文章中的“Microsoft分布式链接跟踪建议”部分: 312403 基于 Windows 的域控制器上的分布式链接跟踪

    10. 系统状态备份

      使林中每个域中至少有两个域控制器的系统状态备份。 如果升级不起作用,可以使用备份来恢复林中的所有域。

在 Windows 2000 林中Microsoft Exchange 2000

注意

  • 如果在 Windows 2000 林中安装了 Exchange 2000 Server 或将要安装,请在运行 Windows Server 2003 adprep /forestprep 命令之前阅读本部分。
  • 如果安装 Microsoft Exchange Server 2003 架构更改,请在运行 Windows Server 2003 命令之前转到“概述:将 Windows 2000 域控制器升级到 Windows Server 2003adprep”部分。

Exchange 2000 架构定义了三个 inetOrgPerson 属性,其中包含不符合注释(RFC)的 LDAPDisplayNames:houseIdentifier、secretary 和 labeledURI。

Windows 2000 inetOrgPerson Kit 和 Windows Server 2003 adprep 命令定义相同 LDAPDisplayNames 与不符合 RFC 的版本相同的三个属性的 RFC 投诉版本。

当 Windows Server 2003 adprep /forestprep 命令在包含 Windows 2000 和 Exchange 2000 架构更改的林中运行时,houseIdentifier、labeledURI 和秘书属性的 LDAPDisplayNames 将变得混乱。 如果将“Dup”或其他唯一字符添加到冲突属性名称的开头,则属性将变为“杂乱无章”,以便目录中的对象和属性具有唯一名称。

在以下情况下,Active Directory 林不容易受到这些属性的管理 LDAPDisplayNames:

  • 如果在添加 Exchange 2000 架构之前,在包含 Windows 2000 架构的林中运行 Windows Server 2003 adprep /forestprep 命令。
  • 如果在创建的林中安装了 Exchange 2000 架构,其中 Windows Server 2003 域控制器是林中的第一个域控制器。
  • 如果将 Windows 2000 inetOrgPerson Kit 添加到包含 Windows 2000 架构的林,然后安装 Exchange 2000 架构更改,然后运行 Windows Server 2003 adprep /forestprep 命令。
  • 如果将 Exchange 2000 架构添加到现有 Windows 2000 林,请在运行 Windows Server 2003 命令之前运行 Exchange 2003 adprep /forestprep /forestprep。

在以下情况下,管理属性将在 Windows 2000 中发生:

  • 如果在安装 Windows 2000 inetOrgPerson Kit 之前将标记为 URI 的 Exchange 2000 版本、houseIdentifier 和秘书属性添加到 Windows 2000 林中。
  • 在运行 Windows Server 2003 adprep /forestprep 命令之前,先将 Exchange 2000 版本的 labeledURI、houseIdentifier 和秘书属性添加到 Windows 2000 林中,而无需先运行清理脚本。 每个方案的行动计划如下:

方案 1:运行 Windows Server 2003 adprep /forestprep 命令后添加 Exchange 2000 架构更改

如果在运行 Windows Server 2003 adprep /forestprep 命令后将 Exchange 2000 架构更改引入到 Windows 2000 林中,则无需清理。 转到“概述:将 Windows 2000 域控制器升级到 Windows Server 2003”部分。

方案 2:将在 Windows Server 2003 adprep /forestprep 命令之前安装 Exchange 2000 架构更改

如果已安装 Exchange 2000 架构更改,但尚未运行 Windows Server 2003 adprep /forestprep 命令,请考虑以下行动计划:

  1. 使用属于架构管理员安全组成员的帐户登录到架构操作主机的控制台。

  2. 单击“开始”,单击“运行,在“打开”框中键入notepad.exe,然后单击“确定”。

  3. 将以下文本(包括“schemaUpdateNow: 1”后面的尾随连字符)复制到记事本。

    dn: CN=ms-Exch-Assistant-Name,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchAssistantName
    -

    dn: CN=ms-Exch-LabeledURI,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchLabeledURI
    -

    dn: CN=ms-Exch-House-Identifier,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:LDAPDisplayName
    LDAPDisplayName: msExchHouseIdentifier
    -

    dn:
    changetype:Modify
    add: schemaUpdateNow
    schemaUpdateNow: 1
    -

  4. 确认每行末尾没有空格。

  5. 在“文件”菜单上,单击“保存”。 在“另存为”对话框中,按照下列步骤操作:

    1. “文件名 ”框中,键入以下内容: \%userprofile%\InetOrgPersonPrevent.ldf
    2. “另存为类型 ”框中,单击“ 所有文件”。
    3. “编码 ”框中,单击“ Unicode”。
    4. 单击“ 保存”。
    5. 退出记事本。
  6. 运行 InetOrgPersonPrevent.ldf 脚本。

    1. 单击“开始”,单击“运行,在“打开”框中键入 cmd,然后单击“确定”。

    2. 在命令提示符下,键入以下内容,然后按 Enter: cd %userprofile%

    3. 键入以下命令

    c:\documents and settings\%username%>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "domain name path for forest root domain"
    

    语法说明:

    • DC=X 是区分大小写的常量。
    • 根域的域名路径必须用引号引起来。

    例如,其林根域为 TAILSPINTOYS.COM Active Directory 林的命令语法为:

    c:\documents and settings\administrator>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X “dc=tailspintoys,dc=com”

    注意

    如果收到以下错误消息,则可能需要更改 “架构更新允许 的注册表”子项:此 DC 上不允许架构更新,因为未设置注册表项或 DC 不是架构 FSMO 角色所有者。

  7. 在运行 Windows Server 2003 adprep /forestprep 命令之前,验证 CN=ms-Exch-Assistant-Name、CN=ms-Exch-LabeledURI 和 CN=ms-Exch-House-Identifier 属性的 LDAPDisplayNames 现在显示为 msExchAssistantName、msExchLabeledURI 和 msExchHouseIdentifier。

  8. 转到“概述:将 Windows 2000 域控制器升级到 Windows Server 2003”部分以运行 adprep /forestprep/domainprep 命令。

方案 3:未首先运行 inetOrgPersonFix 的 Windows Server 2003 forestprep 命令

如果在包含 Exchange 2000 架构更改的 Windows 2000 林中运行 Windows Server 2003 adprep /forestprep 命令,则 houseIdentifier、secretary 和 labeledURI 的 LDAPDisplayName 属性将变得混乱。 若要标识混乱的名称,请使用Ldp.exe查找受影响的属性:

  1. 从 Microsoft Windows 2000 或 Windows Server 2003 媒体的 Support\Tools 文件夹中安装Ldp.exe。

  2. 从林中的域控制器或成员计算机开始Ldp.exe。

    1. “连接”菜单上,单击“连接,将服务器框留空,“端口”框中键入 389,然后单击“确定”。
    2. “连接”菜单上,单击“绑定,将所有框留空,然后单击“确定”。
  3. 记录 SchemaNamingContext 属性的可分辨名称路径。 例如,对于 CORP.ADATUM.COM 林中的域控制器,可分辨名称路径可能是 CN=Schema,CN=Configuration,DC=corp,DC=company,DC=com。

  4. “浏览 ”菜单上,单击“ 搜索”。

  5. 使用以下设置配置 “搜索 ”对话框:

    • 基本 DN:步骤 3 中标识的架构命名上下文的可分辨名称路径。
    • 筛选器:(ldapdisplayname=dup*)
    • 范围:子树
  6. Mangled houseIdentifier、secretary 和 labeledURI 属性具有类似于以下格式的 LDAPDisplayName 属性:

    LDAPDisplayName:DUP-labeledURI-9591bbd3-d2a6-4669-afda-48af7c35507d;
    LDAPDisplayName: DUP-secretary-c5a1240d-70c0-455c-9906-a4070602f85f
    LDAPDisplayName: DUP-houseIdentifier-354b0ca8-9b6c-4722-aae7-e66906cc9eef

  7. 如果在步骤 6 中对 labeledURI、secretary 和 houseIdentifier 的 LDAPDisplayNames 进行了管理,请运行 Windows Server 2003 InetOrgPersonFix.ldf 脚本进行恢复,然后转到“使用Winnt32.exe升级 Windows 2000 域控制器”部分。

    1. 创建名为 %Systemdrive%\IOP 的文件夹,然后将 InetOrgPersonFix.ldf 文件解压缩到此文件夹。

    2. 在命令提示符处键入 cd %systemdrive%\iop

    3. 从位于 Windows Server 2003 安装介质的 Support\Tools 文件夹中的 Support.cab 文件中提取 InetOrgPersonFix.ldf 文件。

    4. 在架构操作主机的控制台中,使用 Ldifde.exe 更正 houseIdentifier、secretary 和 labeledURI 属性的 LdapDisplayName 属性,加载 InetOrgPersonFix.ldf 文件。 为此,请键入以下命令,其中 X> 是区分大小写的常量<,林<根域>的 dn 路径是林根域的域名路径:

      C:\IOP>ldifde -i -f inetorgpersonfix.ldf -v -c DC=X "domain name path for forest root domain"
      

      语法说明:

      • DC=X 是区分大小写的常量。
      • 林根域的域名路径必须用引号引起来。
  8. 在安装 Exchange 2000 之前,验证架构命名上下文中的 houseIdentifier、secretary 和 labeledURI 属性是否未“混乱”。

概述:将 Windows 2000 域控制器升级到 Windows Server 2003

从 Windows Server 2003 媒体的 \I386 文件夹运行的 Windows Server 2003 adprep 命令为添加 Windows Server 2003 域控制器准备 Windows 2000 林及其域。 Windows Server 2003 adprep /forestprep 命令添加以下功能:

  • 改进了对象类的默认安全描述符

  • 新用户和组属性

  • 新的架构对象和属性(如 inetOrgPerson)adprep 实用工具支持两个命令行参数:

    • adprep /forestprep:运行林升级操作。
    • dprep /domainprep:运行域升级操作。

adprep /forestprep 命令是对林的架构操作母版(FSMO)执行的一次性操作。 林prep 操作必须完成并复制到每个域的基础结构主机,然后才能在该域中运行 adprep /domainprep

adprep /domainprep 命令是在林中托管新的或升级的 Windows Server 2003 域控制器的每个域的基础结构操作主域控制器上运行的一次性操作。 该 adprep /domainprep 命令验证林prep 的更改是否已在域分区中复制,然后对 Sysvol 共享中的域分区和组策略进行自己的更改。

除非 /forestprep 和 /domainprep 操作已完成并复制到该域中的所有域控制器,否则无法执行以下任一操作:

  • 使用Winnt32.exe将 Windows 2000 域控制器升级到 Windows Server 2003 域控制器。

注意

你可以根据需要将 Windows 2000 成员服务器和计算机升级到 Windows Server 2003 成员计算机。 使用 Dcpromo.exe 将新的 Windows Server 2003 域控制器提升到域中。承载架构操作主机的域是唯一必须同时运行和adprep /domainprep运行的adprep /forestprep域。 在所有其他域中,只需运行 adprep /domainprep

命令adprep /forestprepadprep /domainprep不会将属性添加到全局目录部分属性集或导致全局目录完全同步。 RTM 版本 adprep /domainprep 确实会导致 Sysvol 树中 \Policies 文件夹完全同步。 即使多次运行 forestprep 和 domainprep,完成的操作也只执行一次。

adprep /forestprepadprep /domainprep 完全复制更改后,可以通过从 Windows Server 2003 媒体的 \I386 文件夹运行 Winnt32.exe,将 Windows 2000 域控制器升级到 Windows Server 2003。 此外,还可以使用 Dcpromo.exe 向域添加新的 Windows Server 2003 域控制器。

使用 adprep /forestprep 命令升级林

若要准备 Windows 2000 林和域以接受 Windows Server 2003 域控制器,请先在实验室环境中执行以下步骤,然后在生产环境中执行以下步骤:

  1. 请确保已完成“林清单”阶段中的所有操作,并特别注意以下各项:

    1. 已创建系统状态备份。
    2. 林中的所有 Windows 2000 域控制器都安装了所有相应的修补程序和服务包。
    3. Active Directory 的端到端复制在整个林中发生
    4. FRS 在整个域中正确复制文件系统策略。
  2. 使用属于架构管理员安全组成员的帐户登录到架构操作主机的控制台。

  3. 通过在 Windows NT 命令提示符处键入以下内容,验证架构 FSMO 是否已执行架构分区的入站复制: repadmin /showreps

    (repadmin 由 Active Directory 的 Support\Tools 文件夹安装。

  4. 早期Microsoft文档建议在运行 adprep /forestprep之前隔离专用网络上的架构操作主机。 实际体验表明,此步骤没有必要,并且可能会导致架构操作主机在专用网络上重启架构更改时拒绝架构更改。

  5. 在架构操作主服务器上运行 adprep 。 为此,请单击“开始”,单击运行”,键入 cmd,然后单击“确定”。 在架构操作主机中,键入以下命令:

     X:\I386\adprep /forestprep
    

    其中 X:\I386\ 是 Windows Server 2003 安装介质的路径。 此命令运行林范围的架构升级。

    注意

    可以忽略在目录服务事件日志中记录的事件 ID 为 1153 的事件,例如以下示例:

  6. 验证该命令是否已 adprep /forestprep 在架构操作主服务器上成功运行。 为此,请从架构操作主机的控制台中验证以下项: - 命令 adprep /forestprep 已完成且没有错误。 - CN=Windows2003Update 对象是在 CN=ForestUpdates,CN=Configuration,DC= forest_root_domain下编写的。 记录 Revision 属性的值。 - (可选) 架构版本递增到版本 30。 为此,请参阅 CN=Schema,CN=Configuration,DC= forest_root_domain下的 ObjectVersion 属性。如果未 adprep /forestprep 运行,请验证以下项:

    • 运行时 adprep 指定了安装介质的 \I386 文件夹中Adprep.exe的完全限定路径。 若要执行此操作,请键入以下命令:

      x:\i386\adprep /forestprep
      

      其中 x 是承载安装介质的驱动器。

    • 运行 adprep 的登录用户具有架构管理员安全组的成员身份。 若要验证这一点,请使用 whoami /all 命令。

    • 如果 adprep 仍然不起作用,请查看 %systemroot%\System32\Debug\Adprep\Logs\Latest_log 文件夹中Adprep.log文件。

  7. 如果在步骤 4 中对架构操作主数据库禁用了出站复制,请启用复制,以便可以传播所 adprep /forestprep 做架构更改。 为此,请执行以下步骤:

    1. 单击“开始” ,再单击“运行” ,键入 cmd,然后单击“确定”
    2. 键入以下内容,然后按 Enter:repadmin /options -DISABLE_OUTBOUND_REPL
  8. 验证 adprep /forestprep 更改是否已在林中的所有域控制器上复制。 监视以下属性非常有用:

    1. 递增架构版本
    2. CN=Windows2003Update、CN=ForestUpdates、CN=Configuration、DC= forest_root_domain 或 CN=Operations、CN=DomainUpdates、CN=System、DC= forest_root_domain 及其下的操作 GUID 已复制到其中。
    3. 搜索添加的新架构类、对象、属性或其他更改 adprep /forestprep ,例如 inetOrgPerson。 查看 %systemroot%\System32 文件夹中的 Sch XX.ldf 文件(其中 XX 是介于 14 和 30 之间的数字),以确定应存在的对象和属性。 例如,inetOrgPerson 在 Sch18.ldf 中定义。
  9. 查找已管理 LDAPDisplayNames。 如果发现名称混乱,请转到同一篇文章的场景 3。

  10. 使用作为托管架构操作主机的林的架构管理员组安全组成员的帐户登录到架构操作主机的控制台。

使用 adprep /domainprep 命令升级域

在 /forestprep 更改完全复制到将托管 Windows Server 2003 域控制器的每个域中的基础结构主域控制器后运行 adprep /domainprep 。 为此,请按照以下步骤操作:

  1. 确定要升级的域中的基础结构主域控制器,然后使用作为要升级的域中域管理员安全组成员的帐户登录。

    注意

    企业管理员可能不是林子域中域管理员安全组的成员。

  2. 在基础结构主机上运行 adprep /domainprep 。 为此,请单击“开始”,单击“运行”,键入 cmd,然后在基础结构主服务器上键入以下命令: X:\I386\adprep /domainprep 其中 X:\I386\ 是 Windows Server 2003 安装媒体的路径。 此命令在目标域中运行域范围的更改。

    注意

    adprep /domainprep 命令修改 Sysvol 共享中的文件权限。 这些修改会导致该目录树中的文件完全同步。

  3. 验证域准备是否已成功完成。 为此,请验证以下项:

    • 命令 adprep /domainprep 已完成且无错误。
    • CN=Windows2003Update,CN=DomainUpdates,CN=System,DC= 正在升级 的域的 dn 路径不存在, adprep /domainprep 验证以下项:
    • 运行的 adprep 登录用户具有要升级的域中域管理员安全组的成员身份。 为此,请使用 whoami /all 命令。
    • 运行 adprep时指定了安装介质的 \I386 目录中Adprep.exe的完全限定路径。 为此,请在命令提示符处键入以下命令: x :\i386\adprep /forestprep 其中 x 是承载安装介质的驱动器。
    • 如果 adprep 仍然不起作用,请查看 %systemroot%\System32\Debug\Adprep\Logs\ Latest_log 文件夹中Adprep.log 文件。
  4. adprep /domainprep验证更改是否已复制。 为此,对于域中的其余域控制器,请验证以下项: - CN=Windows2003Update,CN=DomainUpdates,CN=System,DC= dn 路径的域 存在,而 Revision 属性的值与域基础结构主机上的相同属性的值匹配。 - (可选) 查找添加的对象、属性或访问控制列表 (ACL) 更改 adprep /domainprep 。 批量或将这些域中的 DC 添加到 Windows Server 2003 时,在其余域的基础结构主节点上重复步骤 1-4。 现在,可以使用 DCPROMO 将新的 Windows Server 2003 计算机提升到林中。 或者,可以使用WINNT32.EXE将现有 Windows 2000 域控制器升级到 Windows Server 2003。

使用 Winnt32.exe 升级 Windows 2000 域控制器

从 /forestprep 和 /domainprep 进行的更改完全复制后,你已决定与早期版本客户端的安全互操作性,可以将 Windows 2000 域控制器升级到 Windows Server 2003,并将新的 Windows Server 2003 域控制器添加到该域中。

以下计算机必须是每个域中林中运行 Windows Server 2003 的第一个域控制器之一:

  • 林中的域命名主节点,以便可以创建默认 DNS 程序分区。
  • 林根域的主域控制器,以便 Windows Server 2003 的林prep 添加的企业范围安全主体在 ACL 编辑器中可见。
  • 每个非根域中的主域控制器,以便可以创建新的特定于域的 Windows 2003 安全主体。 为此,请使用WINNT32升级托管所需操作角色的现有域控制器。 或者,将角色传输到新升级的 Windows Server 2003 域控制器。 对于升级到 Windows Server 2003 的每个 Windows 2000 域控制器以及你升级的每个 Windows Server 2003 工作组或成员计算机,执行以下步骤WINNT32:
  1. 在使用WINNT32升级 Windows 2000 成员计算机和域控制器之前,请删除 Windows 2000 管理工具。 为此,请在控制面板中使用“添加/删除程序”工具。 (仅限 Windows 2000 升级。

  2. 安装Microsoft或管理员确定的任何修补程序文件或其他修补程序都很重要。

  3. 检查每个域控制器是否存在可能的升级问题。 为此,请从安装介质的 \I386 文件夹中运行以下命令: winnt32.exe /checkupgradeonly 解决兼容性检查识别的任何问题。

  4. 从安装介质的 \I386 文件夹中运行WINNT32.EXE,然后重启升级后的 2003 域控制器。

  5. 根据需要降低早期版本客户端的安全设置。

    如果 Windows NT 4.0 客户端没有 NT 4.0 SP6 或 Windows 95 客户端未安装目录服务客户端,请在域控制器组织单位的默认域控制器策略上禁用 SMB 服务签名,然后将此策略链接到托管域控制器的所有组织单位。 计算机配置\Windows 设置\安全设置\本地策略\安全选项\Microsoft网络服务器:数字签名通信(始终)

  6. 使用以下数据点验证升级的运行状况:

    • 升级成功完成。
    • 添加到安装的修补程序已成功替换原始二进制文件。
    • 对于域控制器保留的所有命名上下文,都会进行 Active Directory 的入站和出站复制。
    • Netlogon 和 Sysvol 共享存在。
    • 事件日志指示域控制器及其服务正常。

    注意

    升级后可能会收到以下事件消息:可以安全地忽略此事件消息。

  7. 仅安装 Windows Server 2003 管理工具(Windows 2000 升级和 Windows Server 2003 非域控制器)。 Adminpak.msi位于 Windows Server 2003 CD-ROM 的 \I386 文件夹中。 Windows Server 2003 媒体包含 Support\Tools\Suptools.msi 文件中更新的支持工具。 请确保重新安装此文件。

  8. 在林中的每个域中,至少对升级到 Windows Server 2003 的前两个 Windows 2000 域控制器进行新的备份。 在锁定的存储中找到升级到 Windows Server 2003 的 Windows 2000 计算机的备份,这样就不会意外地使用这些备份来还原现在运行 Windows Server 2003 的域控制器。

  9. (可选)在单个实例存储(SIS)完成(仅 Windows 2000 升级后)升级到 Windows Server 2003 的域控制器上的 Active Directory 数据库脱机碎片整理。

    SIS 会评审对 Active Directory 中存储的对象的现有权限,然后对这些对象应用更高效的安全描述符。 升级的域控制器首先启动 Windows Server 2003 操作系统时,SIS 会自动启动(由目录服务事件日志中的事件 1953 标识)。 仅当在目录服务事件日志中记录事件 ID 1966 事件消息时,才会受益于改进的安全描述符存储:此事件消息指示单实例存储操作已完成,并充当队列管理员,以使用 NTDSUTIL.EXE 执行 Ntds.dit 的脱机碎片整理。

    脱机碎片整理可以降低 Windows 2000 Ntds.dit 文件的大小高达 40%,可提高 Active Directory 性能,并更新数据库中的页面,以便更高效地存储链接值属性。 有关如何对 Active Directory 数据库进行碎片整理的详细信息,请单击以下文章编号以查看Microsoft知识库中的文章:

    232122对 Active Directory 数据库执行脱机碎片整理

  10. 调查 DLT 服务器服务。 Windows Server 2003 域控制器在全新安装和升级安装时禁用 DLT Server 服务。 如果组织中的 Windows 2000 或 Windows XP 客户端使用 DLT Server 服务,请使用组策略在新的或升级的 Windows Server 2003 域控制器上启用 DLT Server 服务。 否则,从 Active Directory 增量删除分布式链接跟踪对象。 有关详细信息,请单击下面的文章编号,查看相应的 Microsoft 知识库文章:

    312403基于 Windows 的域控制器上的分布式链接跟踪

    如果批量删除数千个 DLT 对象或其他对象,可能会因为缺少版本存储而阻止复制。 删除最后一个 DLT 对象并完成垃圾回收后,等待 逻辑删除生存时间 天数(默认情况下为 60 天),然后使用NTDSUTIL.EXE对 Ntds.dit 文件执行脱机碎片整理。

  11. 配置最佳做法组织单位结构。 Microsoft建议管理员在所有 Active Directory 域中积极部署最佳做法组织结构,并在 Windows 域模式下升级或部署 Windows Server 2003 域控制器后,将早期版本 API 用于创建用户、计算机和组的默认容器重定向到管理员指定的组织单位容器。

    有关最佳做法组织单位结构的其他信息,请查看“管理 Windows 网络最佳做法 Active Directory 设计”白皮书的“创建组织单位设计”部分。 若要查看白皮书,请访问以下Microsoft网站: https://technet.microsoft.com/library/bb727085.aspx 有关更改创建早期版本 API 的用户、计算机和组的默认容器的详细信息,请单击以下文章编号以查看Microsoft知识库中的文章:

    324949 重定向 Windows Server 2003 域中的用户和计算机容器

  12. 针对林中每个新的或升级的 Windows Server 2003 域控制器和每个 Active Directory 域的步骤 11(最佳做法组织结构结构)重复步骤 1 到 10。

    在“摘要”中:

    • 使用WINNT32升级 Windows 2000 域控制器(如果使用)从滑行安装媒体升级)
    • 验证是否已在升级的计算机上安装修补程序文件
    • 安装安装介质上未包含的任何必需修补程序
    • 验证新服务器或已升级服务器上的运行状况(AD、FRS、Policy 等)
    • 在 OS 升级后等待 24 小时,然后脱机碎片整理(可选)
    • 如果必须启动 DLT 服务,则使用 q312403 / q315229 post forest-wide domainpreps 删除 DLT 对象
    • 删除 DLT 对象后,执行脱机碎片整理 60 天(逻辑删除生存期和垃圾回收 # 天)

实验室环境中的干运行升级

在将 Windows 域控制器升级到生产 Windows 2000 域之前,请在实验室中验证和优化升级过程。 如果准确镜像生产林的实验室环境升级能够顺利执行,则生产环境中可能会产生类似的结果。 对于复杂环境,实验室环境必须在以下方面镜像生产环境:

  • 硬件:计算机类型、内存大小、页面文件放置、磁盘大小、性能和突袭配置、BIOS 和固件修订级别
  • 软件:客户端和服务器操作系统版本、客户端和服务器应用程序、Service Pack 版本、修补程序、架构更改、安全组、组成员身份、权限、策略设置、对象计数类型和位置、版本互操作性
  • 网络基础结构:WINS、DHCP、链接速度、可用带宽
  • 加载:加载模拟器可以模拟密码更改、对象创建、Active Directory 复制、登录身份验证和其他事件。 目标是不重现生产环境的规模。 相反,目标是发现常见操作的成本和频率,并根据当前和未来的要求在生产环境中内插其影响(名称查询、复制流量、网络带宽和处理器消耗)。
  • 管理:执行的任务、使用的工具、使用的操作系统
  • 操作:容量、互操作性
  • 磁盘空间:请注意操作系统、Ntds.dit 和 Active Directory 日志文件在以下每个操作之后,每个域中全局编录和非全局目录域控制器上的起始大小、峰值和结束大小:
    1. adprep /forestprep
    2. adprep /domainprep
    3. 将 Windows 2000 域控制器升级到 Windows Server 2003
    4. 在版本升级后执行脱机碎片整理

了解环境的升级过程和复杂性以及详细观察决定了你应用于升级生产环境的速度和关注程度。 通过高可用性广域网(WAN)链接连接了少量域控制器和 Active Directory 对象的环境可能在几个小时内升级。 可能需要更小心企业部署,这些部署具有数百个域控制器或数十万个 Active Directory 对象。 在这种情况下,可能需要在几周或几个月内执行升级。

在实验室中使用“干运行”升级来执行以下任务:

  • 了解升级过程的内部工作和相关风险。
  • 暴露环境中部署过程的潜在问题区域。
  • 测试并开发回退计划,以防升级失败。
  • 定义适用于生产域的升级过程的相应详细信息级别。

没有足够磁盘空间的域控制器

在磁盘空间不足的域控制器上,使用以下步骤释放托管 Ntds.dit 和日志文件的卷上的额外磁盘空间:

  1. 删除未使用的文件,包括 *.tmp文件或 Internet 浏览器使用的缓存文件。 为此,请键入以下命令(在每个命令后按 Enter):

    cd /d drive\  
    del *.tmp /s  
    
  2. 删除任何用户或内存转储文件。 为此,请键入以下命令(在每个命令后按 Enter):

    cd /d drive\  
    del *.dmp /s  
    
  3. 暂时删除或重新定位可从其他服务器访问或轻松重新安装的文件。 可以删除和轻松替换的文件包括 ADMINPAK、支持工具以及 %systemroot%\System32\Dllcache 文件夹中的所有文件。

  4. 删除旧用户配置文件或未使用的用户配置文件。 为此,请单击“开始,右键单击“我的计算机”,单击“属性”,单击用户配置文件”选项卡,然后删除旧帐户和未使用的帐户的所有配置文件。 请勿删除可能适用于服务帐户的任何配置文件。

  5. 删除 %systemroot%\Symbols 上的符号。 为此,请键入以下命令: rd /s %systemroot%\symbols 根据服务器是否设置了完整符号或小符号集,这可能会获得大约 70 MB 到 600 MB。

  6. 执行脱机碎片整理。 Ntds.dit 文件的脱机碎片整理可能会释放空间,但暂时需要将当前 DIT 文件的空间增加一倍。 如果可用,请使用其他本地卷执行脱机碎片整理。 或者,在最佳连接的网络服务器上使用空间来执行脱机碎片整理。 如果磁盘空间仍然不足,请从 Active Directory 增量删除不必要的用户帐户、计算机帐户、DNS 记录和 DLT 对象。

注意

Active Directory 不会从数据库中删除对象,直到 逻辑删除生存时间 天数(默认情况下为 60 天),垃圾回收完成。 如果将逻辑删除生存时间减少到小于林中端到端复制的值,则可能会导致 Active Directory 中的不一致。