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

文章翻译 文章翻译
文章编号: 325379 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

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

清点域和林

在将 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 NT 4.0 的计算机,如果它们要访问包含有基于 Windows Server 2003 的计算机的域,请安装 Service Pack 3 或更高版本(建议安装 Service Pack 6A)。或者,暂时在 Windows Server 2003 域控制器上禁用 SMB 签名。有关如何禁用 SMB 签名的信息,请参阅本步骤结尾的“禁用 SMB 签名”部分。
    • Microsoft Windows 95

      在基于 Windows 95 的计算机上安装 Windows 9x 目录服务客户端,或者暂时在 Windows Server 2003 域控制器上禁用 SMB 签名。原始的 Win9x 目录服务客户端在 Windows 2000 Server CD-ROM 上提供。但是,该客户端加载项已经由经过改进的 Win9x 目录服务客户端所取代。有关如何禁用 SMB 签名的信息,请参阅本步骤结尾的“禁用 SMB 签名”部分。
    • Microsoft Network Client for MS-DOS 和 Microsoft LAN Manager 客户端

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

      某些 Macintosh 客户端与 SMB 签名不兼容,它们在尝试连接到网络资源时将收到以下错误消息:
      - Error -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 服务签名:
    Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Microsoft Network Server: 数字签名的通信(总是)
    如果域控制器不位于域控制器的组织单元中,则必须将默认域控制器的组策略对象 (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 域控制器都必须具有日期戳和版本分别晚于 2001 年 6 月 4 日和 5.0.2195.3673 的 Ntdsa.dll 文件。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      331161 运行 adprep /Forestprep 之前要在 Windows 2000 域控制器上安装修补程序,以便为添加基于 Windows Server 2003 的域控制器准备林和域
      默认情况下,Windows 2000 SP4、Windows XP 和 Windows Server 2003 客户端计算机中的 Active Directory 管理工具使用轻量目录访问协议 (LDAP) 签名。如果这类计算机在远程管理 Windows 2000 域控制器时使用(或依靠)NTLM 身份验证,则连接无效。要避免出现此现象,远程管理的域控制器应该至少安装 Windows 2000 SP3。否则,应该在运行管理工具的客户端上关闭 LDAP 签名。 有关 LDAP 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      325465 使用 Windows Server 2003 管理工具时 Windows 2000 域控制器需要 SP3 或更高版本
      以下情形使用 NTLM 身份验证:
      • 您管理的 Windows 2000 域控制器位于通过 NTLM(非 Kerberos)信任关系连接的外部林中。
      • 您将 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 <位于目标域中的域控制器的名称> 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:
      REPADMIN /REPLSUM /BYSRC /BYDEST /SORT:DELTA              <-output formatted to fit on page
      
      DestDC    largest delta    fails/total  %%  error
      
      NA-DC-01 13d.21h:10m:10s    97 / 143  67  (8240) There is no such object...
      NA-DC-02 13d.04h:11m:07s   180 / 763  23  (8524) The DSA operation...
      NA-DC-03 12d.03h:54m:41s     5 /   5 100  (8524) The DSA operation...
      林中的所有域控制器必须安全地复制 Active Directory,并且 repadmin 输出中“Largest Delta”一列中的值不应明显大于给定目标域控制器所使用的对应站点链接或连接对象上的复制频率。

      解决未能在少于 Tombstone 生存时间 (TSL) 的天数(默认为 60 天)进行入站复制的域控制器之间的所有复制错误。如果无法使复制起作用,您可能需要强制性地使域控制器降级并使用 Ntdsutil 元数据清除命令从林中将它们删除,然后将它们重新提升到林中。可以使用强制性降级的方法来保存操作系统安装和孤立的域控制器上的程序。 有关如何从域中删除孤立的 Windows 2000 域控制器的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      216498 域控制器降级失败后如何删除 Active Directory 中的数据
      只有在没有其他办法时,才应采取此操作来恢复操作系统的安装和已安装的程序。您将失去孤立的域控制器上未复制的对象和属性,包括用户、计算机、信任关系、它们的密码、组和组成员关系。

      在尝试解决域控制器(未在大于 tombstonelifetime 的天数内复制某个特定 Active Directory 分区的入站更改)上的复制错误时,一定要小心。进行该操作时,您可能会恢复在一个域控制器上已经删除的对象,但对于这些对象,直接的或可传递的复制伙伴从未在前 60 天内收到该删除。

      考虑删除驻留在尚未在前 60 天内执行入站复制的域控制器上的所有延迟对象。或者,可以强制性地使在 tombstone 生存时间天数内未执行给定分区上的任何入站复制的域控制器降级,并使用 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. 事件日志查看

      检查所有域控制器的事件日志,查找有问题的事件。事件日志中绝对不能包含指示以下任何一个过程和组件有问题的严重事件消息:
      物理连接
      网络连接
      名称注册
      名称解析
      身份验证
      组策略
      安全策略
      磁盘子系统
      架构
      拓扑
      复制引擎
    7. 清点磁盘空间

      承载 Active Directory 数据库文件 Ntds.dit 的卷上的可用空间必须至少等于 Ntds.dit 文件大小的 15-20%。承载 Active Directory 日志文件的卷上的可用空间也必须至少等于 Ntds.dit 文件大小的 15-20%。有关如何释放更多磁盘空间的其他信息,请参阅本文的“磁盘空间不足的域控制器”部分。
    8. DNS 清理(可选)

      以 7 天为间隔为林中的所有 DNS 服务器启用 DNS 清理。为了取得最佳效果,请在进行操作系统升级前的 61 天或更早执行此操作。这样,在对 Ntds.dit 文件执行脱机碎片整理时,就可以为 DNS 清理后台驻留程序提供足够的时间对过期的 DNS 对象进行垃圾回收。
    9. 禁用 DLT Server 服务(可选)

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

      为林中每个域中的至少两个域控制器创建一个系统状态备份。如果升级无效,则可使用该备份来恢复林中的所有域。

Windows 2000 林中的 Microsoft Exchange 2000

注意
  • 如果 Exchange 2000 Server 已安装或者将要安装到 Windows 2000 林中,请先阅读本部分内容,然后再运行 Windows Server 2003 adprep /forestprep 命令。
  • 如果将要安装 Microsoft Exchange Server 2003 架构更改,请先阅读“概述:将 Windows 2000 域控制器升级到 Windows Server 2003”这一部分,然后再运行 Windows Server 2003 adprep 命令。
Exchange 2000 架构定义了三个具有不符合请求注释 (RFC) 的 LDAPDisplayName 的 inetOrgPerson 属性:houseIdentifiersecretarylabeledURI

Windows 2000 inetOrgPerson Kit 和 Windows Server 2003 adprep 命令定义了三个符合 RFC 版本且具有相同 LDAPDisplayName 的属性,它们与不符合 RFC 版本的属性相同。

当 Windows Server 2003 adprep /forestprep 命令在没有纠正脚本的情况下在包含 Windows 2000 和 Exchange 2000 架构更改的林中运行时,houseIdentifierlabeledURIsecretary 属性的 LDAPDisplayName 会变得错位。如果“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 adprep /forestprep 命令之前运行 Exchange 2003 /forestprep。
在下列情况下,错位的属性将出现在 Windows 2000 中:
  • 如果在安装 Windows 2000 inetOrgPerson Kit 之前将 Exchange 2000 版本的 labeledURIhouseIdentifiersecretary 属性添加到 Windows 2000 林中。
  • 您在运行 Windows Server 2003 adprep /forestprep 命令而未首先运行清理脚本之前,将 Exchange 2000 版本的 labeledURIhouseIdentifiersecretary 属性添加到 Windows 2000 林中。
以下每种情形的操作计划:

情形 1:在您运行 Windows Server 2003 adprep /forestprep 命令之后添加了 Exchange 2000 架构更改

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

情形 2:将在运行 Windows Server 2003 adprep /forestprep 命令之前安装 Exchange 2000 架构更改

如果已经安装了 Exchange 2000 架构更改,但尚未运行 Windows Server 2003 adprep /forestprep 命令,请考虑以下操作计划:
  1. 使用作为 Schema Admins 安全组成员的帐户登录架构操作主机的控制台。
  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 "<林根域的域名路径>"
      语法注释:
      • DC=X 是一个区分大小写的常量。
      • 根域的域名路径必须要用引号引起来。
      例如,林根域为 TAILSPINTOYS.COM 的 Active Directory 林的命令语法将为:
      c:\documents and settings\administrator>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "dc=tailspintoys,dc=com"
      注意:如果收到以下错误消息,则可能需要更改
      Schema Update Allowed
      注册表子项:
      Schema update is not allowed on this DC because the registry key is not set or the DC is not the schema FSMO Role Owner.
      有关如何更改此注册表子项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      285172 架构更新需要 Active Directory 中的架构的写权限
  7. 在运行 Windows Server 2003 adprep /forestprep 命令之前,验证架构命名上下文中的 CN=ms-Exch-Assistant-Name、CN=ms-Exch-LabeledURI 和 CN=ms-Exch-House-Identifier 属性的 LDAPDisplayName 现在是否分别显示为 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 命令,则 houseIdentifiersecretarylabeledURI 的 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. 错位的 houseIdentifiersecretarylabeledURI 属性的 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. 如果 labeledURIsecretaryhouseIdentifier 的 LDAPDisplayName 在步骤 6 中错位,请运行 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 文件,以更正 houseIdentifiersecretarylabeledURI 属性的 LdapDisplayName 属性。为此,请键入以下命令,其中 <X> 是一个区分大小写的常量,<dn path for forest root domain> 是林的根域的域名路径:
      C:\IOP>ldifde -i -f inetorgpersonfix.ldf -v -c DC=X "<林根域的域名路径>"
      语法注释:
      • DC=X 是一个区分大小写的常量。
      • 林根域的域名路径必须要用引号引起来。
  8. 在安装 Exchange 2000 之前,验证架构命名上下文中的 houseIdentifiersecretarylabeledURI 属性是否没有“错位”。
有关与 Services for UNIX 2.0 版相关的架构冲突的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
293783 在安装 Windows Services for UNIX 2.0 后无法将 Windows 2000 Server 升级到 Windows Server 2003

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

您在 Windows Server 2003 介质的 \I386 文件夹中运行的 Windows Server 2003 adprep 命令将准备 Windows 2000 林及其域,以添加 Windows Server 2003 域控制器。Windows Server 2003 adprep /forestprep 命令添加以下特性:
  • 用于对象类的已改进的默认安全描述符
  • 新的用户和组属性
  • 类似于 inetOrgPerson 的新的架构对象和属性
adprep 实用工具支持两个命令行参数:
adprep /forestprep:运行林升级操作。
adprep /domainprep:运行域升级操作。
adprep /forestprep 命令是在林的架构操作主机 (FSMO) 上执行的一次性操作。forestprep 操作必须完成并复制到每个域的结构主机上,然后您才能在该域中运行 adprep /domainprep

adprep /domainprep 命令是在林中每个将承载新的或升级的 Windows Server 2003 域控制器的域的结构操作主机域控制器上运行的一次性操作。adprep /domainprep 命令验证 forestprep 所做的更改是否已经在域分区中复制,然后对 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 文件夹完全同步。即便将 forestprepdomainprep 运行数次,完整操作也只会执行一次。

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. 使用作为 Schema Admins 安全组成员的帐户登录架构操作主机的控制台。
  3. 通过在 Windows NT 命令提示符处键入以下内容来验证架构 FSMO 是否已经执行了架构分区的入站复制:
    repadmin/showreps
    repadmin 由 Active Directory 的 Support\Tools 文件夹安装)。
  4. 早期的 Microsoft 文档建议您在运行 adprep /forestprep 之前先在专用网络上隔离架构操作主机。但实际经验表明此步骤是不必要的,并且可能会使得架构操作主机在专用网络上重新启动时拒绝架构更改。如果您要隔离 adprep 所创建的架构添加,Microsoft 建议使用 repadmin 命令行实用工具暂时禁用 Active Directory 的出站复制。为此,请按照下列步骤操作:
    1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
    2. 键入以下命令,然后按 Enter:
      repadmin /options +DISABLE_OUTBOUND_REPL
  5. 在架构操作主机上运行 adprep。为此,请依次单击“开始”和“运行”,键入 cmd,然后单击“确定”。在架构操作主机上,键入以下命令
    X:\I386\adprep /forestprep
    其中 X:\I386\ 是 Windows Server 2003 安装介质的路径。此命令运行林范围的架构升级。

    注意:可以忽略目录服务事件日志中记录的事件 ID 为 1153 的事件(例如下面的示例):

    类型: 错误
    来源: NTDS General
    类别: 内部处理
    事件 ID: 1153
    日期: MM/DD/YYYY
    时间: HH:MM:SS AM|PM
    用户: Everyone 计算机: <某 DC>
    描述: 类标识符 655562 (类名为 msWMI-MergeablePolicyTemplate)具有无效超类 655560。已忽略继承。

  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 未运行,请验证以下几项:
    • 位于安装介质的 \I386 文件夹中的 Adprep.exe 的完全限定路径是否是在运行 adprep 时指定的。为此,请键入以下命令:
      x:\i386\adprep /forestprep
      其中 x 是承载安装介质的驱动器。
    • 运行 adprep 的已登录用户具有 Schema Admins 安全组的成员资格。要验证这一点,请使用 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 文件夹中的 SchXX.ldf 文件(其中 XX 是一个介于 14 和 30 之间的数字),以确定该文件中应该有哪些对象和属性。例如,Sch18.ldf 中定义了 inetOrgPerson。
  9. 查找错位的 LDAPDisplayName。

    如果在运行 Windows Server 2003 adprep /forestprep 命令之前安装了 Exchange 2000,请查看 Microsoft 知识库中的以下文章:
    314649 Windows Server 2003 adprep /forestprep 命令导致包含 Exchange 2000 Server 的 Windows 2000 林中出现错位的属性
    如果找到错位的名称,请转到本文中的“情形 3”。
  10. 使用作为承载架构操作主机的林的 Schema Admins 安全组成员的帐户,登录架构操作主机的控制台。

使用 adprep /domainprep 命令升级域

/forestprep 更改完全复制到每个将要承载 Windows Server 2003 域控制器的域中的结构主机域控制器上之后,运行 adprep /domainprep。为此,请按照下列步骤操作:
  1. 找到要升级的域中的结构主机域控制器,然后使用作为要升级的域中的 Domain Admins 安全组成员的帐户登录。

    注意:企业管理员可能不是林的子域的 Domain Admins 安全组的成员。
  2. 在结构主机上运行 adprep /domainprep。为此,请依次单击“开始”和“运行”,键入 cmd,然后在结构主机上键入以下命令:
    X:\I386\adprep /domainprep
    其中 X:\I386\ 是 Windows Server 2003 安装介质的路径。此命令在目标域中运行域范围的更改。

    注意adprep /domainprep 命令会修改 Sysvol 共享中的文件权限。这些修改会导致该目录树中的文件完全同步。
  3. 验证 domainprep 是否已成功完成。为此,请验证以下几项:
    • adprep /domainprep 命令是否已顺利完成。
    • CN=Windows2003Update,CN=DomainUpdates,CN=System,DC=<要升级的域的域名路径> 是否存在
    如果 adprep /domainprep 未运行,请验证以下几项:
    • 运行 adprep 的已登录用户是否具有要升级的域的 Domain Admins 安全组的成员资格。为此,请使用 whoami /all 命令。
    • 位于安装介质 \I386 目录中的 Adprep.exe 的完全限定路径是否是在运行 adprep 时指定的。为此,请在命令提示符处键入以下命令:
      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=<要升级的域的域名路径> 对象是否存在,以及 Revision 属性的值与域的结构主机的同一属性的值是否匹配。
    • (可选)查找 adprep /domainprep 添加的对象、属性或访问控制列表 (ACL) 更改。
    在其余域的结构主机上批量重复步骤 1-4,或者在您向这些域中添加域控制器或将域控制器升级到 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 的 forestprep 添加的企业范围的安全主体变得对 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 Service 签名,然后将此策略链接到承载域控制器的所有组织单元。
    Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Microsoft Network Server: 数字签名的通信(总是)
  6. 使用以下数据点验证升级是否成功:
    • 升级已成功完成。
    • 您添加到安装中的修补程序成功替换了原来的二进制文件。
    • 对于域控制器控制的所有命名上下文,都发生 Active Directory 的入站和出站复制。
    • Netlogon 和 Sysvol 共享存在。
    • 事件日志指示域控制器及其服务的运行正常。

      注意:升级后可能会收到以下事件消息:

      类型: 错误
      来源: NTDS Backup
      类别: 备份
      事件 ID: 1913
      日期: Date
      时间: HH:MM:SSAM|PM
      用户: N/A
      计算机: computername
      描述: 内部事件: Active Directory 备份和还原操作遇到意外错误。备份或还原不会成功,直到更正此问题。

      可以放心地忽略此事件消息。
  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 Server 2003 的域控制器上执行 Active Directory 数据库的脱机碎片整理(仅限 Windows 2000 升级)。

    SIS 检查存储在 Active Directory 中的对象的现有权限,然后将更高效的安全描述符应用于这些对象。当已升级的域控制器首次启动 Windows Server 2003 操作系统时,SIS 将自动启动(通过目录服务事件日志中的事件 1953 来确定)。只有当目录服务事件日志中记录了事件 ID 为 1966 的事件消息时,才会从已改进的安全描述符存储中受益:

    类型: 信息
    来源: NTDS SDPROP
    类别: 内部处理
    事件 ID: 1966
    日期: MM/DD/YYYY
    时间: HH:MM:SS AM|PM
    用户: NT AUTHORITY\ANONYMOUS LOGON
    计算机: <computername>
    描述: 安全描述符传播程序已经完成了一次完整的传播。
    分配的空间量(MB):
    XX 空闲的空间量(MB): XX

    这可能增加 Active Directory 数据库中空闲的空间量。
    用户操作: 考虑脱机数据库碎片整理以回收 Active Directory 数据库中可用空闲的空间。有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。

    此事件消息指示单实例存储操作已经完成,并充当管理员使用 NTDSUTIL.EXE 执行 Ntds.dit 脱机碎片整理的队列。

    脱机碎片整理可以使 Windows 2000 Ntds.dit 文件的大小减小多达 40%,提高 Active Directory 的性能,并更新数据库中的页面以便更高效地存储“Link Valued”属性。 有关如何对 Active Directory 数据库执行碎片整理的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    232122 对 Active Directory 数据库执行脱机碎片整理
  10. 研究 DLT Server 服务。Windows Server 2003 域控制器在全新安装和升级安装中禁用 DLT Server 服务。如果您单位中的 Windows 2000 或 Windows XP 客户端使用 DLT Server 服务,请使用“组策略”启用新的或已升级的 Windows Server 2003 域控制器中的 DLT Server 服务。否则,请从 Active Directory 中逐步删除分布式链接跟踪对象。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    312403 基于 Windows 的域控制器上的分布式链接跟踪
    315229 Microsoft 知识库文章 Q312403 中的 Dltpurge.vbs 的文本版本
    如果批量删除数千个 DLT 对象或其他对象,复制可能会由于缺少版本存储而阻塞。删除最后一个 DLT 对象后,请等待 tombstonelifetime 天数(默认为 60 天)并等待垃圾回收完成,然后使用 NTDSUTIL.EXE 对 Ntds.dit 文件执行脱机碎片整理。
  11. 配置最佳做法组织单元结构。Microsoft 建议管理员在所有的 Active Directory 域内主动部署最佳做法组织单元结构,并且在 Windows 域模式下升级或部署 Windows Server 2003 域控制器后,将早期版本的 API 用来创建用户、计算机和组的默认容器重定向到管理员指定的组织单元容器中。

    有关最佳做法组织单元结构的其他信息,请查看“Best Practice Active Directory Design for Managing Windows Networks”(用于管理 Windows 网络的 Active Directory 最佳做法设计)白皮书中的“Creating an Organizational Unit Design”(创建组织单元设计)部分。要查看该白皮书,请访问下面的 Microsoft 网站:
    http://technet.microsoft.com/zh-cn/library/bb727085(en-us).aspx
    有关更改早期版本的 API 创建的用户、计算机和组所在的默认容器的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:
    324949 重定向 Windows Server 2003 域中的用户和计算机容器
  12. 对于林中的每个新的或升级的 Windows Server 2003 域控制器,请根据需要重复步骤 1 至步骤 10,对于每个 Active Directory 域,请执行步骤 11(最佳做法组织单元结构)。

    总之:
    • 使用 WINNT32 升级 Windows 2000 域控制器(通过补充安装介质(如果使用))
    • 验证经过修补的文件是否已经安装到已升级的计算机上
    • 安装未包含在安装介质中的所有所需的修补程序
    • 验证新的或已升级的服务器(AD、FRS、Policy 等等)是否正常运行
    • 操作系统升级 24 小时后执行脱机碎片整理(可选)
    • 如果必须启动 DLT Service,则启动它;否则使用 q312403 / q315229 post forest wide domainpreps 删除 DLT 对象
    • 删除 DLT 对象后过 60 天或更长时间(tombstone 生存时间和垃圾回收天数)执行脱机碎片整理

在实验室环境中模拟升级

在将 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. 删除包括 *.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 对象。

    注意:直到超过 tombstonelifetime 天数(默认为 60 天)并且垃圾回收完成后,Active Directory 才会从数据库中删除对象。如果您将 tombstonelifetime 减小到的值低于林中端到端复制的值,则可能会导致 Active Directory 中出现不一致。

参考

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
821076 Windows Server 2003 帮助文件中包含有关如何升级 Windows 2000 域的错误信息

属性

文章编号: 325379 - 最后修改: 2008年1月28日 - 修订: 21.5
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Exchange 2000 Server 标准版
关键字:?
kbinfo KB325379
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com