dudu@IT博客网

IT博客网站长

[收藏]如何将 Windows 2000 域控制器升级到 Windows Server 2003

原文地址:http://dev.csdn.net/article/39/39248.shtm
 

域和林清点

在将 Windows Server 2003 架构更改或 Windows Server 2003 域控制器添加到生产 Windows 2000 林之前,请按照以下步骤操作:
  1. 清点访问您要升级的域中的资源的客户机:
    1. Windows 95、Windows NT 4.0 和 Macintosh 客户机:

      Macintosh 客户机在尝试连接到网络资源的过程中可能会收到以下错误信息
      - Error -36 I/O
      在 Windows Server 2003 域控制器中定义的本地安全设置要求客户机使用 SMB Service 签名。未安装 Active Directory 目录服务客户程序的 Windows 95 以及 Windows NT 4.0 Service Pack 2 (SP2) 或更早的客户机与默认 Windows Server 2003 安全设置中启用的 SMB Service 签名要求不兼容。这些客户机无法向 Windows Server 2003 域控制器进行身份验证,也无法访问 Windows Server 2003 域控制器上的资源。

      未安装目录服务客户程序的 Windows 95 客户机在尝试向启用了 SMB Service 签名的 Windows 2003 域控制器进行身份验证时,可能会收到以下错误信息:
      The domain password you supplied is not correct, or access to your logon server has been denied.
      通过在域控制器的“组策略”中禁用 SMB Service 签名要求,或者通过在 Windows 95 计算机上安装 Windows 9x 目录服务客户程序,Windows 95 客户机可以进行身份验证和访问资源。Windows 2000 Server CD-ROM 上提供了原始的 Win9x 目录服务客户程序。但是,该附加客户程序已经由经过改进的 Win9x 目录服务客户程序所取代。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      323466 Windows 95 和 Windows 98 的目录服务客户端更新的可用性

      运行 NT 4.0 SP2 及更早版本的 Windows NT 4.0 客户机与未安装目录服务客户程序的 Windows 95 计算机具有相同的身份验证和资源访问问题。安装 SP2 或更早版本的 Windows NT 4.0 客户机在尝试向启用了 SMB Service 签名的 Windows 2003 域控制器进行身份验证时,可能会收到以下错误信息:
      The system could not log you on.Make sure your User name and domain are correct, then type your password again.Letters in passwords must be typed using the correct case.Make sure that Caps Lock is not accidentally on.
      Microsoft 建议管理员在所有向包含 Windows Server 2003 计算机的域进行身份验证的 NT 4.0 计算机上都安装 NT 4.0 SP6A。

      如果在引入 Windows Server 2003 域控制器之前无法将软件更新安装到受影响的 Windows 95 和 Windows NT 4.0 客户机上,请在“组策略”中先暂时禁用 SMB Service 签名要求,直到能够在 Windows 95 和 NT 4.0 客户机上部署更新的客户软件。

      在域控制器组织单元的“默认域控制器”策略的以下节点中可以禁用 SMB Service 签名:

      计算机配置\Windows 设置\安全设置\本地策略\安全选项\Microsoft 网络服务器:数字签名通信(始终)

      如果域控制器不位于域控制器的组织单元中,则必须将默认域控制器的组策略对象 (GPO) 链接到所有承载 Windows 2000 或 Windows Server 2003 域控制器的组织单元。或者,可以在链接到那些组织单元的 GPO 中配置 SMB Service 签名。
    2. 其他客户机:

      在运行 Windows 98、Windows 98 Second Edition、Windows Millennium Edition、安装了 SP3 或更高版本的 Windows NT 4.0、Windows 2000、Windows XP Professional 或 Windows Server 2003 的计算机上无需执行其他的操作。
  2. 清点域和林中的域控制器:
    1. 确保林中的所有 Windows 2000 域控制器都已经安装了所有相应的修复程序和 Service Pack。

      Microsoft 建议所有的 Windows 2000 域控制器运行 Windows 2000 Service Pack 3 (SP3) 或更高版本的操作系统。如果无法完全部署 Windows 2000 SP3,则所有 Windows 2000 域控制器的 Ntdsa.dll 文件的日期戳和版本必须是 2001 年 6 月 4 日和 5.0.2195.3673 之后的。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      331161 Hotfixes to Install on Windows 2000 Domain Controllers Before Running Adprep /Forestprep

      默认情况下,Windows 2000 SP4、Windows XP 和 Windows Server 2003 客户计算机中的 Active Directory 管理工具使用轻量目录访问协议 (LDAP) 签名。如果这些计算机在连接到目标 Windows 2000 域控制器时使用(或依靠)NTLM 身份验证,则连接无效。要解决此问题,目标域控制器上必须至少安装了 Windows 2000 SP3,或者必须在运行管理工具的客户机中关闭 LDAP 签名。 有关 LDAP 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      325465 Windows 2000 Domain Controllers Require Service Pack 3 or Later When Using Windows Server 2003 Administration Tools

      以下方案使用 NTLM 身份验证:
      • 您管理的 Windows 2000 域控制器位于通过 NTLM(更早的版本)信任关系连接的外部林中。
      • 您将管理单元集中在某个通过 IP 地址引用的特定域控制器上。例如,您单击“开始”,单击“运行”,然后键入以下命令:

        dsa.msc /server=ipaddress

      要确定 Active Directory 域中 Active Directory 域控制器的操作系统和 Service Pack 版本级别,请在林中的 Windows XP Professional 或 Windows Server 2003 成员计算机上安装 Repadmin.exe 的 Windows Server 2003 版,然后针对林中每个域的域控制器运行以下 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 的成员计算机上,带下列参数使用 Repadmin.exe 的 Windows Server 2003 版:
      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...
      								
      林中所有域控制器的复制必须没有错误,而且“最大 Delta”列中的值一定不能大于匹配的站点链接或连接对象所定义的复制频率。研究 REPLSUM 输出中任何报告了复制错误的域控制器,尤其是那些在 Tombstone 存留时间 (TSL) 天数(默认为 60 天)之内未复制入站或出站更改的复制错误。为此,请在导入 .csv 文件的电子表格程序中查看 repadmin /showrepl * /CSV >c:\repldrilldown.csv 中的输出,然后按照“上次成功时间”进行排序。

      尝试解决在 tombstonelifetime 天数之内未复制名称上下文的入站或出站更改的域控制器的复制错误时一定要小心。如果那样做,可能会使那些在一个域控制器中被删除、而在其他域控制器中仍然活动的对象复活,如果删除操作在前 60 天里没有在整个林中完全传播的话。

      考虑强制性降级这样的域控制器,并使用 Ntdsutil 和其他实用程序将它们的剩余元素从 Active Directory 林中删除。请与您的支持提供商或 Microsoft PSS 联系以获取其他帮助。

      必须在 tombstonelifetime 天之内将当前脱机的所有域控制器联机,然后验证入站和出站复制。

      如果域控制器无法复制 Active Directory,则可能必须强制性将域控制器降级,并使用 Ntdsutil metadata cleanup 命令将它们从林中删除,然后将它们提升回林中。可以使用强制性降级的方法来保存操作系统安装和孤立域控制器上的程序。 有关如何从 Windows 2000 域控制器的域中删除孤立的 Windows 2000 域控制器的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      216498 HOW TO:域控制器降级失败时删除 Active Directory 中的数据

      只有在没有其他办法时,才应采取此操作来恢复操作系统的安装和已安装的程序。您将失去孤立域控制器的未复制的对象和属性,包括用户、计算机、信任关系、它们的密码、组和组成员关系。
    3. 验证 Sysvol 共享的内容是否一致。

      域控制器必须一致且成功地应用在 Sysvol 中复制的默认域策略和默认域控制器策略,以保持 Active Directory 的正常运行。在位于同一个域中的 Windows 2000 域控制器的域系统卷(Sysvol 共享)中,验证策略的文件系统部分是否一致。可以使用资源工具包中的 Gpotool.exe 确定整个域的策略是否存在不一致。使用 Windows Server 2003 支持工具中的 Healthcheck 确定 Sysvol 共享副本集在每个域中是否正常运行。

      如果 Sysvol 共享的内容不一致,请解决所有的不一致。
    4. 使用支持工具中的 Dcdiag.exe 验证所有的域控制器是否具有共享的 netlogon 和 sysvol 共享。为此,请在命令提示符处键入下面的命令:

      DCDIAG.EXE /e /test:frssysvol

    5. 清点操作角色。

      架构和结构操作主机在林及其域中引入了林范围和域范围的架构更改。将结构操作主机角色(也称为“灵活单主机操作”或 FSMO)分配给每个域的联机域控制器。如果林中包含多个域,承载结构操作主机的域控制器一定不能是全局目录服务器。架构操作主机一般位于林根域的主要域控制器上,但它也可以驻留在林中的任何域控制器上。最后,验证主要域控制器、相对 ID (RID) 和域命名主机操作主机是否分配给运行正常的域控制器。 有关操作主机及其位置的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      197132 Windows 2000 Active Directory FSMO 角色

      223346 在 Windows 2000 域控制器上放置和优化 FSMO

      netdom query 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 服务(可选)

      除非 Windows 2000 或 Windows XP 客户机使用“分布式链接跟踪服务器 (DLT)”服务,否则将所有 Windows 2000 域控制器上的此服务的初始值设置为“disabled”。有关其他信息,请参见以下 Microsoft 知识库文章中的“Microsoft Recommendations for distributed link tracking”一节:

      312403 Distributed Link Tracking on Windows-Based Domain Controllers

    10. 系统状态备份

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

Windows 2000 林中的 Exchange 2000

注意:如果在 Windows 2000 林中已安装或者将要安装 Exchange 2000 Server,请阅读本节内容。

Exchange 2000 架构定义了三个符合非请求注释 (RFC) 的属性:houseIdentifier、secretary 和 labeledURI。Windows 2000 InetOrPerson Kit 和 Windows Server 2003 中的 adprep 命令重新定义了这些属性。当 Active Directory 发现重复的名称时,它会修改其中一个对象的名称,在名称的开头加上“Dup”和一些独特的字符。因此,在您运行 Windows 2000 InetorgPerson Kit 或 Windows Server 2003 架构更改之前,如果 Exchange 2000 在 Windows 2000 林中创建了这三个属性,则这些属性的 LDAPDisplayName 可能会在复制新的符合 RFC 的定义之后发生冲突或错位。这种现象称为错位

如果您使用 Windows 2000 中的 InetOrgPerson Kit 或 Windows Server 2003 中的 adprep 命令创建 Secretary 和 labeledURI 属性的初始定义,则 Active Directory 林不容易受到这种错位显示问题的影响。具体说来,错位的 LdapDisplayName 属性不会在以下方案中出现:
  • 在运行 Windows Server 2003 adprep 命令之前,将 Windows 2000 InetOrgPerson Kit 添加到 Windows 2000 林中。
  • 在安装 Exchange 2000 之前,在 Windows 2000 林中运行 Windows Server 2003 adprep 命令。
  • 将 Exchange 2000 添加到现有的 Windows Server 2003 林中。
  • 在运行 adprep 之前将 Exchange 2000 SP3 安装到 Exchange 2000 服务器上。
如果 Exchange 2000 在 Windows 2000 域中创建 Secretary 和 labeledURI 属性的初始定义,Windows 2000 和 Windows Server 2003 林中可能会出现错位属性。在下面的方案中可能会发生这种现象:
  • 在从 InetOrgPerson Kit 添加 InetOrgPerson 类之前,将 InetOrgPerson 类的 Exchange 2000 SP2 及更早的版本添加到 Windows 2000 林中。
  • 在运行 Windows Server 2003 adprep /forestprep 命令之前,将 InetOrgPerson 类的 Exchange 2000 SP2 及更早的版本添加到 Windows 2000 林中。
  • 在从 Windows 2000 InetOrgPerson Kit 运行 InetOrgPerson-fix.ldf 之后,包含 InetOrgPerson 的 Exchange 2000 SP2 及更早的定义的 Windows 2000 域控制器没有接收 Active Directory 更新。
因此,如果您在 Windows 2000 林中已经安装或者将要安装 Exchange 2000 Server,请按照以下步骤操作。

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

如果在运行 Windows Server 2003 adprep /forestprep 命令之后将在 Windows 2000 林中引入 Exchange 2000 架构更改,则继续本文的“概述:将 Windows 2000 域控制器升级到 Windows Server2003”一节。

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

如果已经安装了 Exchange 2000 架构更改,但尚未运行 Windows Server 2003 adprep /forestprep 命令,请考虑以下操作计划:
  1. 使用属于架构管理员组和企业管理员组的帐户登录到架构操作主机的控制台。
  2. 启用架构主机上的架构更新。 有关如何允许对 Active Directory 架构进行更新的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    285172 Schema Updates Require Write Access to Schema in Active Directory

  3. 单击“开始”,单击“运行”,在“打开”框中键入 notepad.exe,然后单击“确定”。
  4. 将以下文本中的 [start copy here][end copy here] 节标记之间的文本(包括最后的“-”字符)复制到“记事本”中。

    [start copy here]
    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
    -
    [end copy here]
  5. 在“记事本”中,单击“文件”菜单上的“保存”。创建一个 %systemdrive%\IOP 文件夹(其中 %systemdrive% 是承载 Windows 2000 操作系统的逻辑驱动器)。将文档以文件名 InetOrgPersonPrevent.ldf 保存到该文件夹中。退出“记事本”。
  6. 运行 InetOrgPersonPrevent.ldf 脚本。
    1. 单击“开始”,单击“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 在命令提示符处键入以下命令,然后按 ENTER 键:

      cd %systemdrive%\IOP

    3. 键入以下命令,然后按 ENTER 键,其中 <X> 是一个区分大小写的常量 (dc=corp,dc=tailspintoys,dc=com),<林根域的域名路径> 是林的根域的域名路径:

      c:\iop>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=<X> "<林根域的域名路径>"

      包括引号。
  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 命令,houseIdentifier、Secretary 和 labeledURI 的 LDAPDisplay 属性将变得错位。要识别错位的名称,请使用 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. 错位的 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. 如果 labeledURI、Secretary 和 HouseIdentifier 的 LDAP 显示名称错位,请运行 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> 是一个区分大小写的常量,<林根域的域名路径> 是林的根域的域名路径:

      C:\IOP>ldifde -i -f inetorgpersonfix.ldf -v -c DC=<X> "<林根域的域名路径>"

      包括引号。
  8. 在安装 Exchange 2000 之前,验证架构名称上下文中的 houseIdentifierSecretarylabeledURI 属性是否未“错位”。

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

从 Windows Server 2003 介质的 \I386 文件夹运行的 Adprep.exe 实用程序准备了一个 Windows 2000 林及其域,以用于添加 Windows Server 2003 域控制器。ADPREP 新增了以下功能:
  • 用于对象类的已改进的默认安全描述符
  • 新的用户和组属性
  • 类似 InetOrgPerson 的新的架构对象和属性
Windows Server 2003 的 ADPREP 有助于确保已升级的 Windows 2000 林和域中包含其他支持 Windows Active Directory 环境的对象、属性和权限。ADPREP 支持两个命令行参数:

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

adprep /forestprep 命令是在林的架构操作主机 (FSMO) 上执行的一次性操作。在可以在域中运行 adprep /domainprep 之前,forestprep 操作必须完成并复制到每个域的结构主机。

adprep /domainprep 命令是在林中每个将承载新的或升级的 Windows Server 2003 域控制器的域的结构操作主机域控制器上运行的一次性操作。adprep /domainprep 命令验证 forestprep 中的更改是否已在其中复制。

如果 forestprep 更改不存在,则 adprep /domainprep 命令不运行。此外,除非 /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 所做的更改。

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

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. 在架构操作主机上运行 ADPREP。为此,请单击“开始”,单击“运行”,键入 cmd,然后在架构操作主机上键入以下命令:

    X:\I386\adprep /forestprep

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

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

    Event Type:Error
    Event Source:NTDS General
    Event Category:Internal Processing
    Event ID:1153
    Date:MM/DD/YYYY
    Time:HH:MM:SS AM|PM
    User:Everyone Computer :<some DC>
    Description:Class identifier 655562 (class name msWMI-MergeablePolicyTemplate) has an invalid superclass 655560. Inheritance ignored.

  4. 验证 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 的已登录用户是否属于企业和架构管理员组。要验证这一点,请使用 whoami /all 命令。
    • 如果 ADPREP 仍然不运行,请查看 %systemroot%\System32\Debug\Adprep\Logs\Latest_log 文件夹中的 ADPREP.LOG 文件。
  5. 验证是否已将 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。
  6. 查找错位的 LdapDisplay 名称。

    如果在运行 Windows Server 2003 adprep /forestprep 命令之前安装了 Exchange 2000,请参见以下 Microsoft 知识库文章中的“How to Identify Mangled Name Attributes”一节:

    314649 Windows Server 2003 ADPREP Command Causes Mangled Attributes in Windows 2000 Forests That Contain Exchange 2000 Servers

    如果找到错位的名称,请转到本文的“Windows 2000 林中的 Exchange 2000”一节中的方案 3。
  7. 使用属于承载架构操作主机的林的架构管理员组和企业管理员组的帐户,登录到架构操作主机的控制台。

使用 ADPREP /DOMAINPREP 升级域

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

    注意:企业管理员可能不属于林的子域的域管理员组。
  2. 在结构主机上运行 Adprep.exe。为此,请单击“开始”,单击“运行”,键入 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 的已登录用户是否属于要升级的域的域管理员组。为此,请使用 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=dn path of domain you are upgrading 对象是否存在,以及 Revision 属性的值与域的结构主机的同一属性的值是否匹配。
    • (可选)查找 adprep /domainprep 添加的对象、属性或访问控制列表 (ACL) 更改。
    在其余域的结构主机上分批重复步骤 1 到步骤 4,或者在将那些域中的域控制器添加或升级到 Windows Server 2003 时重复步骤 1 到步骤 4。现在您可以使用 DCPROMO 将新的 Windows Server 2003 计算机提升到林中。或者,可以使用 WINNT32.EXE 将现有的 Windows 2000 域控制器升级到 Windows Server 2003。

创建安装介质

本节将列出 Microsoft 指出 Windows Server 2003 域控制器必需或非常适合的修复程序。考虑将以下修复程序添加到安装介质上,或者在对新的域控制器运行 DCPROMO 之前安装它们。最后,将这些修复程序安装到 Windows Server 2003 成员计算机上,因为它们可能会受到影响或者它们的角色以后可能改变。

注意:计划发布 Windows Server 2003 的 NTFRS.EXE 的后 RTM 版本。

使用 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 签名,然后将此策略链接到承载域控制器的所有组织单元。

    计算机配置\Windows 设置\安全设置\本地策略\安全选项\Microsoft 网络服务器:数字签名通信(始终)

  6. 使用以下数据点验证升级是否成功:
    • 升级成功完成。
    • 您添加到安装中的修复程序成功替换了原来的二进制文件。
    • 对于域控制器控制的所有名称上下文,都发生 Active Directory 的入站和出站复制。
    • Netlogon 和 Sysvol 共享存在。
    • 事件日志指示域控制器及其服务的运行正常。

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

      Event Type:Error
      Event Source:NTDS Backup
      Event Category:Backup
      Event ID:1913
      Date:Date
      Time:HH:MM:SSAM|PM
      User:N/A
      Computer:<computername>
      Description:Internal error:The Active Directory backup and restore operation encountered an unexpected error.Backup or restore will not succeed until this is corrected.

      可以忽略此事件消息,不会有任何问题。
  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 事件消息时,才会从已改进的安全描述符存储中受益:

    Event Type:Information
    Event Source:NTDS SDPROP
    Event Category:Internal Processing
    Event ID:1966
    Date:MM/DD/YYYY
    Time:HH:MM:SS AM|PM
    User:NT AUTHORITY\ANONYMorganizational unitS LOGON
    Computer:<computername>
    Description:The security descriptor propagator has completed a full propagation pass.
    Allocated space (MB):
    XX Free space (MB):XX

    This may have increased free space in the Active Directory database.User Action Consider defragmenting the database offline to reclaim the free space that may be available in the Active Directory database.For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

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

    脱机碎片整理可以使 Windows 2000 Ntds.dit 文件的大小减小多达 40%,提高 Active Directory 性能,并更新数据库中的页面以便更高效地存储“Link Valued”属性。 有关如何执行 Active Directory 数据库的碎片整理的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    232122 Performing an Offline Defragmentation of the Active Directory Database

  10. 研究 DLT Server 服务。Windows Server 2003 域控制器在全新安装和升级安装中禁用 DLT Server 服务。如果您单位中的 Windows 2000 客户机或 Windows XP 客户机使用 DLT Server 服务,请使用“组策略”启用新的或已升级的 Windows Server 2003 域控制器中的 DLT Server 服务。否则,请从 Active Directory 中逐步删除分布式链接跟踪对象。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    312403 Distributed Link Tracking on Windows-Based Domain Controllers

    315229 Text Version of Dltpurge.vbs for Microsoft Knowledge Base Article Q312403

    如果批量删除上千个 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”白皮书中的“Creating an Organizational Unit Design”一节。要查看此白皮书,请访问下面的 Microsoft Web 站点:

    http://www.microsoft.com/technet/prodtechnol/ad/windows2000/plan/bpaddsgn.asp

    有关如何更改早期版本的 API 创建的用户、计算机和组所在的默认容器的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    324949 Redirecting the Users and Computers Containers in Windows Server 2003 Domains

  12. 对于林中每个新的或已升级的 Windows Server 2003 域控制器,根据需要重复第 1 步到第 10 步,对于每个 Active Directory 域重复第 11 步(最佳做法组织单元结构)。

    总之:
    • 使用 WINNT32 升级 Windows 2000 域控制器(如果用过,请从优化组合的安装介质开始)
    • 验证经过修复程序修复的文件是否已经安装到已升级的计算机上
    • 安装未包含在安装介质中的所有所需的修复程序
    • 验证新的或已升级的服务器是否正常运行(AD、FRS、Policy 等等)
    • OS 升级 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 中的不一致。

posted on 2005-05-17 10:52 dudu 阅读(6997) 评论(1)  编辑 收藏 引用 所属分类: 活动目录

评论

# re: [收藏]如何将 Windows 2000 域控制器升级到 Windows Server 2003 2006-12-31 15:23 luocisco

DC=<X> "<林根域的域名路径>"

包括引号。

等号右边到底该怎么填写啊?给一个例子吧,我在这一不过不去。
谢谢!  回复  更多评论   

只有注册用户登录后才能发表评论。

公告

博客园
IT新闻

导航

<2005年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

统计

常用链接

留言簿(545)

随笔分类

随笔档案

文章分类

相册

微软产品技术

搜索

最新评论

阅读排行榜

评论排行榜