nf 近期在将一个单位的网络,从Windows Server 2003升级到Windows Server 2008 R2,在整个升级过程中,总体比较顺利,但也有一些“疑难”问题,其中就有一例DHCP服务器的升级问题。
网络中有两台DHCP服务器,这两台服务器都是安装的Windows Server 2003,在升级到Windows 2008的过程中,其中一台计算机由于无法卸载PowerShell导致不能升级,另一台由于系统磁盘空间太小不能升级。只能是导出DHCP的配置、在网络中另一台计算机中安装Windows Server 2008 R2及DHCP,并导入配置才可。在此简要介绍一下升级的步骤,其中原Windows Server 2003的DHCP服务器的IP地址是172.30.5.9、新安装的Windows Server 2008 R2的IP地址是172.30.5.15。
(1)导出源DHCP数据库:在172.30.5.9的Windows Server 2003中,进入命令提示窗口中执行:
netsh dhcp server dump > c:\exportdump.txt
(2)导出目标DHCP数据:在Windows Server 2008 R2安装DHCP服务器,进入命令提示窗口执行:
netsh dhcp server dump > c:\importdump.txt
然后将这个文件,复制到172.30.5.9的计算机上,备用。
(3)在172.30.5.9的计算机上,用 记事本 ;打开第一个导出文件exportdump.txt,将
Dhcp Server 172.30.5.9 Add Class "默认路由和远程访问类别" "远程访问客户端的用户类别" 525241532e4d6963726f736f6674 0 b
Dhcp Server 172.30.5.9 Add Class "默认 BOOTP 的类别" "BOOTP 客户端的用户类别" 424f4f54502e4d6963726f736f6674 0 b
Dhcp Server 172.30.5.9 Add Class "Microsoft Windows 2000 选项" "Windows 2000 客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b
Dhcp Server 172.30.5.9 Add Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b
Dhcp Server 172.30.5.9 Add Class "Microsoft 选项" "适用于 Windows 98 和 Windows 2000 客户端的 Microsoft 供应商特定选项" 4d534654 1 b
这五行复制出来,另存为一个文件,并将其中的add替换成delete;,然后将dhcp用netsh dhcp;替换。
然后用记事本打开第2个导出文件importdump.txt,将
Dhcp Server \\Dhcp2008 Add Class "默认路由和远程访问类" "远程访问客户端的用户类" 525241532e4d6963726f736f6674 0 b
Dhcp Server \\Dhcp2008 Add Class "默认的网络访问保护级别" "受限访问客户端的默认特殊用户类" 4d5346542051756172616e74696e65 0 b
Dhcp Server \\Dhcp2008 Add Class "默认 BOOTP 类" "BOOTP 客户端的用户类" 424f4f54502e4d6963726f736f6674 0 b
Dhcp Server \\Dhcp2008 Add Class "Microsoft Windows 2000 选项" "针对 Windows 2000 及更高版本客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b
Dhcp Server \\Dhcp2008 Add Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b
Dhcp Server \\Dhcp2008 Add Class "Microsoft 选项" "适用于所有 Windows 客户端的 Microsoft 供应商特定选项" 4d534654 1 b
第五行复制出来,另存为一个文件,将其中的\\dhcp2008;用;172.30.5.9;替换,将dhcp用netsh dhcp替换。其中dhcp2008;是Windows Server 2008的计算机名称。
然后将这两个文件中的内容,合并为一个新的文件,内容如下:
netsh dhcp Server 172.30.5.9 delete Class "默认路由和远程访问类别" "远程访问客户端的用户类别" 525241532e4d6963726f736f6674 0 b
netsh dhcp Server 172.30.5.9 delete Class "默认 BOOTP 的类别" "BOOTP 客户端的用户类别" 424f4f54502e4d6963726f736f6674 0 b
netsh dhcp Server 172.30.5.9 delete Class "Microsoft Windows 2000 选项" "Windows 2000 客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b
netsh dhcp Server 172.30.5.9 delete Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b
netsh dhcp Server 172.30.5. delete Class "Microsoft 选项" "适用于 Windows 98 和 Windows 2000 客户端的 Microsoft 供应商特定选项" 4d534654 1 b
netsh dhcp Server 172.30.5.9 Add Class "默认路由和远程访问类" "远程访问客户端的用户类" 525241532e4d6963726f736f6674 0 b
netsh dhcp Server 172.30.5.9 Add Class "默认的网络访问保护级别" "受限访问客户端的默认特殊用户类" 4d5346542051756172616e74696e65 0 b
netsh dhcp Server 172.30.5.9 Add Class "默认 BOOTP 类" "BOOTP 客户端的用户类" 424f4f54502e4d6963726f736f6674 0 b
netsh dhcp Server 172.30.5.9 Add Class "Microsoft Windows 2000 选项" "针对 Windows 2000 及更高版本客户端的 Microsoft 供应商特定选项" 4d53465420352e30 1 b
netsh dhcp Server 172.30.5.9 Add Class "Microsoft Windows 98 选项" "Windows 98 客户端的 Microsoft 供应商特定选项" 4d534654203938 1 b
netsh dhcp Server 172.30.5.9 Add Class "Microsoft 选项" "适用于所有 Windows 客户端的 Microsoft 供应商特定选项" 4d534654 1 b
并修改扩展名为bat或cmd。然后执行这个批处理文件,如图1所示。
图1 执行批处理文件
(4)导出源windows 2003的DHCP数据库:在172.30.5.9的计算机中执行
netsh dhcp server export c:\dhcp-172.30.5.9.txt all
如图2所示。
图2 导出2003的DHCP
(5)导入DHCP数据库到windows 2008 R2数据库中:复制上一步导出的文件到172.30.5.15的Windows Server 2008计算机,执行:
netsh dhcp server import c:\dhcp-172.30.5.9.txt
如图3所示。
图3 导入成功
(6)打开Windows Server 2008 DHCP,检查导入是否安装,如图4所示。
图4 导入成功
【说明】如果你要将Windows Server 2003的DHCP、迁移到Windows Server 2008的DHCP,只需要执行(4)~(5)步即可,不需要执行(1)~(3)步。