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

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

适用于: Windows Server 2012 R2
原始 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 2000 域添加新的 Windows Server 2003 域控制器之前,请执行以下步骤:

  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 安装 Service Pack 3 或更高版本 (Service Pack 6A 建议) 所有访问包含基于 Windows Server 2003 的计算机域的基于 Windows NT 4.0 的计算机。 相反,请暂时禁用 Windows Server 2003 域控制器上的 SMB 签名。 有关如何禁用 SMB 签名的信息,请参阅此步骤结束时的 禁用 SMB 签名 部分。

    • Microsoft Windows 95

      在基于 Windows 95 的计算机上安装 Windows 9 x 目录服务客户端,或在 Windows Server 2003 域控制器上暂时禁用 SMB 签名。 原始 Win9 x 目录服务客户端在 Windows 2000 Server CD-ROM 上可用。 但是,该客户端加载项已被改进的 Win9 x 目录服务客户端所取代。 有关如何禁用 SMB 签名的信息,请参阅此步骤结束时的 禁用 SMB 签名 部分。

    • 适用于 MS-DOS 和 Microsoft LAN Manager 客户端的 Microsoft 网络客户端

      MS-DOS 的 Microsoft 网络客户端和 Microsoft LAN Manager 2.x 网络客户端可用于提供对网络资源的访问,或者它们可与可启动软盘结合使用,以复制文件服务器上的共享目录中的操作系统文件和其他文件,作为软件安装例程的一部分。 这些客户端不支持 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 域控制器都安装了所有相应的修补程序和 Service Pack。

      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 输出的“最大增量”列中的值不应明显大于给定目标域使用的相应站点链接或连接对象上的复制频率控制器。

      解决域控制器之间的所有复制错误,这些域控制器在 tombstone 生存期 (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 支持工具中的运行状况检查来确定 Sysvol 共享副本 (replica) 是否在每个域中正确设置功能。

      如果 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 审阅

      检查所有域控制器上的事件日志中是否存在问题的事件。 事件日志不得包含严重事件消息,这些消息指示以下任何进程和组件存在问题:

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

    7. 磁盘空间清单

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

    8. DNS 清理 (可选)

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

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

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

    10. 系统状态备份

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

Windows 2000 林中的 Microsoft Exchange 2000

注意

Exchange 2000 架构定义了三个 inetOrgPerson 属性,这些属性具有非注释请求 (RFC) 兼容 LDAPDisplayNames:houseIdentifier、secretary 和 labeledURI。

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

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

在以下情况下,Active Directory 林不会受到这些属性的 LDAPDisplayName 攻击:

  • 如果在添加 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、houseIdentifier 和 secretary 属性的 Exchange 2000 版本添加到 Windows 2000 林。
  • 在运行 Windows Server 2003 adprep /forestprep 命令之前,将标记 URI、houseIdentifier 和 secretary 属性的 Exchange 2000 版本添加到 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:Exchange 2000 架构更改将在 Windows Server 2003 adprep /forestprep 命令之前安装

如果已安装 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:Windows Server 2003 林prep 命令在未先运行 inetOrgPersonFix 的情况下运行

如果在包含 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 的 LDAPDisplayName,请运行 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 来加载 InetOrgPersonFix.ldf 文件,以更正 houseIdentifier、secretary 和 labeledURI 属性的 LdapDisplayName 属性。 为此,请键入以下命令,其中 <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 adprep 媒体的 \I386 文件夹运行的 Windows Server 2003 命令为添加 Windows Server 2003 域控制器准备 Windows 2000 林及其域。 Windows Server 2003 adprep /forestprep 命令添加了以下功能:

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

  • 新用户和组属性

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

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

命令 adprep /forestprep 是在林的 FSMO) (架构操作主机上执行的一次性操作。 林准备操作必须完成并将其复制到每个域的基础结构主机,然后才能在该域中运行 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 /forestprepadprep /domainprep的域。 在所有其他域中,只需运行 adprep /domainprep

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

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 域控制器都安装了所有相应的修补程序和 Service Pack。
    3. 在整个林中进行 Active Directory 的端到端复制
    4. FRS 会在整个域中正确复制文件系统策略。
  2. 使用架构管理员安全组成员的帐户登录到架构操作主机的控制台。

  3. 通过在命令提示符下键入以下内容,验证架构 FSMO 是否已执行架构分区的入站复制Windows NT: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。 查看 Sch XX.ldf 文件 (其中 XX 是 %systemroot%\System32 文件夹中 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 的对象、属性或访问控制列表。 对其余域的基础结构主数据库重复步骤 1-4,批量或将这些域中的 DC 添加或升级到 Windows Server 2003 时。 现在,可以使用 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 的林准备添加的企业范围安全主体在 ACL 编辑器中可见。
  • 每个非根域中的主域控制器,以便可以创建新的特定于域的 Windows 2003 安全主体。 为此,请使用WINNT32升级托管所需操作角色的现有域控制器。 或者,将角色转移到新升级的 Windows Server 2003 域控制器。 对于升级到具有WINNT32的 Windows Server 2003 的每个 Windows 2000 域控制器,以及升级的每个 Windows Server 2003 工作组或成员计算机,请执行以下步骤:
  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 操作系统时, (由目录服务事件日志中的事件 1953 标识的 SIS 自动启动) 。 仅当在目录服务事件日志中记录事件 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 服务器服务。 如果组织中的 Windows 2000 或 Windows XP 客户端使用 DLT Server 服务,请使用 组策略 在新或升级的 Windows Server 2003 域控制器上启用 DLT Server 服务。 否则,请从 Active Directory 增量删除分布式链接跟踪对象。 有关详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

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

    如果批量删除数千个 DLT 对象或其他对象,可能会因为缺少版本存储而阻止复制。 在删除最后一个 DLT 对象并完成垃圾回收后,请等待 tombstonelifetime (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 域控制器,重复步骤 1 到 10,并为每个 Active Directory 域 (最佳做法组织结构) 步骤 11。

    在“摘要”中:

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

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

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

  • 硬件:计算机类型、内存大小、页面文件放置、磁盘大小、性能和 raid 配置、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. 删除未使用的文件,包括 Internet 浏览器使用的 *.tmp 文件或缓存文件。 为此,请在每个命令) 后键入以下命令 (按 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 不会从数据库中删除对象,直到 tombstonelifetime 天数 (,) 已过 60 天,垃圾回收完成。 如果将 逻辑删除生存时间 减少到低于林中端到端复制的值,可能会导致 Active Directory 中的不一致。