域和林清点
在将 Windows Server 2003 架构更改或 Windows Server 2003 域控制器添加到生产 Windows 2000 林之前,请按照以下步骤操作:1. | 清点访问您要升级的域中的资源的客户机:
| ||||||||||||||||||||||||||||
2. | 清点域和林中的域控制器:
|
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 服务器上。 |
• | 在从 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 更新。 |
方案 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
(http://support.microsoft.com/kb/285172/EN-US/) 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 脚本。
| ||||||
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。
| ||||||||
3. | 记下 SchemaNamingContext 属性的判别名路径。例如,对于 CORP.ADATUM.COM 林中的域控制器,判别名路径可能是 CN=Schema,CN=Configuration,DC=corp,DC=company,DC=com。 | ||||||||
4. | 在“浏览”菜单上,单击“搜索”。 | ||||||||
5. | 使用以下设置来配置“搜索”对话框:
| ||||||||
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 域控制器”一节。
| ||||||||
8. | 在安装 Exchange 2000 之前,验证架构名称上下文中的 houseIdentifier、Secretary 和 labeledURI 属性是否未“错位”。 |
概述:将 Windows 2000 域控制器升级到 Windows Server 2003
从 Windows Server 2003 介质的 /I386 文件夹运行的 Adprep.exe 实用程序准备了一个 Windows 2000 林及其域,以用于添加 Windows Server 2003 域控制器。ADPREP 新增了以下功能:• | 用于对象类的已改进的默认安全描述符 |
• | 新的用户和组属性 |
• | 类似 InetOrgPerson 的新的架构对象和属性 |
adprep /domainprep:运行域升级操作。
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 域控制器提升到域中。 |
即使您运行几次 forestprep 和 domainprep,已完成的操作也只执行一次。adprep 命令不会将属性添加到全局目录部分属性集中,也不会导致全局目录完全同步。RTM 版本的 adprep /domainprep 确实会导致 Sysvol 树中的 /Policies 文件夹完全同步。
adprep /forestprep 和 adprep /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. | 确保已经完成了“林清点”阶段的所有操作,尤其要注意以下几项:
| ||||||||||||
2. | 使用属于架构管理员组和企业管理员组的帐户登录到架构操作主机的控制台。 | ||||||||||||
3. | 在架构操作主机上运行 ADPREP。为此,请单击“开始”,单击“运行”,键入 cmd,然后在架构操作主机上键入以下命令:
X:/I386/adprep /forestprep
其中 X:/I386/ 是 Windows Server 2003 安装介质的路径。此命令运行林范围的架构升级。
注意:可以忽略目录服务事件日志中记录的事件 ID 为 1153 的事件(例如下面的示例):
Event Type:Error | ||||||||||||
4. | 验证 adprep /forestprep 命令是否在架构操作主机上成功运行。为此,从架构操作主机的控制台中,验证以下几项:
| ||||||||||||
5. | 验证是否已将 adprep /forestprep 更改复制到林中的所有域控制器。这在监视以下属性时很有用:
| ||||||||||||
6. | 查找错位的 LdapDisplay 名称。 如果在运行 Windows Server 2003 adprep /forestprep 命令之前安装了 Exchange 2000,请参见以下 Microsoft 知识库文章中的“How to Identify Mangled Name Attributes”一节:
314649
(http://support.microsoft.com/kb/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 是否成功完成。为此,请验证以下几项:
| ||||||||||
4. | 验证 adprep /domainprep 更改是否已经复制。为此,对于域中的其余域控制器,验证以下几项:
|
创建安装介质
本节将列出 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 安全用户。 |
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. | 使用以下数据点验证升级是否成功:
| ||||||||||||||
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 脱机碎片整理可以使 Windows 2000 Ntds.dit 文件的大小减小多达 40%,提高 Active Directory 性能,并更新数据库中的页面以便更高效地存储“Link Valued”属性。 有关如何执行 Active Directory 数据库的碎片整理的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
232122
(http://support.microsoft.com/kb/232122/EN-US/) 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
(http://support.microsoft.com/kb/312403/EN-US/) Distributed Link Tracking on Windows-Based Domain Controllers
315229
(http://support.microsoft.com/kb/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
(http://www.microsoft.com/technet/prodtechnol/ad/windows2000/plan/bpaddsgn.asp)
有关如何更改早期版本的 API 创建的用户、计算机和组所在的默认容器的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
324949
(http://support.microsoft.com/kb/324949/EN-US/) Redirecting the Users and Computers Containers in Windows Server 2003 Domains
| ||||||||||||||
12. | 对于林中每个新的或已升级的 Windows Server 2003 域控制器,根据需要重复第 1 步到第 10 步,对于每个 Active Directory 域重复第 11 步(最佳做法组织单元结构)。 总之:
|
在实验室环境中模拟升级
在将 Windows 域控制器升级到生产 Windows 2000 域之前,在实验室中验证并完善升级过程。如果实验室环境的升级精确反映了生产林的情况并且顺利执行,则可以认为在生产环境中会产生相似的结果。对于复杂的环境,实验室环境必须在以下方面真实反映生产环境:• | 硬件:计算机类型,内存大小、页面文件布局、磁盘大小、性能和 RAID 配置、BIOS 和固件版本级别 | ||||||||
• | 软件:客户机和服务器操作系统版本、客户机和服务器应用程序、Service Pack 版本、修复程序、架构更改、安全组、组成员身份、权限、策略设置、对象计数类型和位置、版本互操作性 | ||||||||
• | 网络结构:WINS、DHCP、链接速度、可用带宽 | ||||||||
• | 负载:负载模拟器可以模拟密码更改、对象创建、Active Directory 复制、登录身份验证和其他事件。其目的不是复制生产环境的规模,而是为了发现常见操作的成本和频率,并根据您当前和未来的要求,加入它们对生产环境的影响(名称查询、复制通信量、网络带宽和处理器使用)。 | ||||||||
• | 管理:执行的任务、使用的工具、使用的操作系统 | ||||||||
• | 操作:容量、互操作性 | ||||||||
• | 磁盘空间:在以下各操作完成后,记下每个域的全局目录域控制器和非全局目录域控制器的操作系统、Ntds.dit 和 Active Directory 日志文件的起始大小、峰值大小和结束大小:
|
在实验室中使用“模拟”升级执行以下任务:
• | 了解升级过程的内部工作机制和相关风险。 |
• | 发现环境中部署过程的潜在问题区域。 |
• | 测试和开发回滚计划,以防升级不成功。 |
• | 定义适当的详细信息级别,以应用于生产域的升级过程。 |
磁盘空间不足的域控制器
在磁盘空间不足的域控制器上,使用以下步骤释放承载 Ntds.dit 和日志文件的卷上的多余磁盘空间:a. | 删除不用的文件(包括 *.tmp 文件)或 Internet 浏览器使用的缓存文件。为此,请键入以下命令(在每个命令之后按 ENTER 键):
cd /d drive/ del *.tmp /s |
b. | 删除所有的用户文件或内存转储文件。为此,请键入以下命令(在每个命令之后按 ENTER 键):
cd /d drive/ del *.dmp /s |
c. | 暂时删除或重定位可以从其他服务器访问或很容易重新安装的文件。可以删除且很容易替换的文件包括 ADMINPAK、支持工具和 %systemroot%/System32/Dllcache 文件夹中的所有文件。 |
d. | 删除旧的或不用的用户配置文件。为此,请单击“开始”,右键单击“我的电脑”,单击“属性”,单击“用户配置文件”选项卡,然后删除用于旧的和不使用的帐户的所有配置文件。不要删除可能用于服务帐户的任何配置文件。 |
e. | 删除 %systemroot%/Symbols 中的符号。为此,请键入以下命令:
rd /s %systemroot%/symbols
根据服务器的符号集是完整的还是其中的一小部分,此操作可能会获得大约 70 MB 到 600 MB。 |
f. | 执行脱机碎片整理。Ntds.dit 文件的脱机碎片整理可以释放空间,但它暂时需要相当于当前 DIT 文件大小两倍的空间。请使用其他的本地卷(如果有可用的)来执行脱机碎片整理。或者,使用最佳连接网络服务器上的空间执行脱机碎片整理。如果磁盘空间仍然不足,请从 Active Directory 中逐步删除不必要的用户帐户、计算机帐户、DNS 记录和 DLT 对象。 注意:直到超过 tombstonelifetime 天数(默认为 60 天)并且垃圾回收完成后,Active Directory 才从数据库中删除对象。如果您将 tombstonelifetime 减小到的值低于林中端到端复制的值,则可能导致 Active Directory 中的不一致。 |