最近遇到一个DHCP服务器升级的需求,从Windows Server 2003升级到Windows Server 2012 R2。搜集、测试总结了两种方法,第一种是采用微软的最佳实践,使用Windows 迁移工具迁移DHCP角色到Windows Server 2012 R2上,第二种是使用Netsh将DHCP配置信息直接导出导入;
一   微软最佳实践
1.1  在Windows Server 2003服务器上安装如下PowerShell和.Net Framework;
Windows PowerShell 1.0 本地化为 Windows Server 2003 和 Windows XP 的安装程序包
http://support.microsoft.com/kb/926140
Windows PowerShell 2.0 Windows Management Framework Core 程序包提供了适用于 IT 专业人员的已更新管理功能。(KB968930)
http://www.microsoft.com/zh-cn/download/details.aspx?id=4045
Microsoft .NET Framework 3.5 SP1
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150
image001.jpg
1.2  在Windows Server 2012上安装DHCP角色和Windows Server 迁移工具;
image002.jpg
image003.jpg
1.3  在Windows Server 2012上打开运行Windows Server迁移工具,创建部署包;
进入ServerMigrationTools目录,运行
cd c:\Windows\system32\ServerMigrationTools
image004.jpg
image005.jpg

查看创建部署文件夹方法:.\SmigDeploy.exe /?
image006.jpg
创建一个可复制到运行Windows Server 2003计算机的迁移工具部署包:
.\SmigDeploy.exe /package /architecture x86 /os WS03 /path c:\SMIGDeploy
image007.jpg
image008.jpg
1.4  将创建好的迁移工具部署包复制到window Server 2003上,打开运行SmigDeploy.exe;
image009.jpg
image010.jpg
注:第一次运行SmigDeploy.exe正常,如果再次运行的时候就会报错,需要先撤销Windows服务器迁移工具在该服务器上的注册信息;
C:\SMIGDeploy\SMT_ws03_x86\SmigDeploy.exe /unregister
image011.jpg
image012.jpg
1.5  导出Windows Server 2003上DHCP的配置数据;
查看Windows Server 2003上可以迁移的功能角色:Get-SmigServerFeature
image013.jpg
运行命令导出DHCP设置(自行设置迁移数据秘钥)
Export-SmigServerSetting –FeatureId dhcp -path c:\DHCPData –Verbose
image014.jpg
image015.jpg
1.6  将导出的DHCP数据拷贝到Windows Server 2012上,运行命令导入DHCP配置数据;
在Windows Server 2012上打开PowerShell,运行以下命令导入迁移工具命令:
Add-PSSnapin microsoft.Windows.Servermanager.migration
image016.jpg
运行以下命令导入DHCP配置数据,然后启动DHCP服务:
Import-SmigServerSetting -FeatureId DHCP -Force -Path C:\DHCPData
image017.jpg
注:在Windows Server 2012上导入DHCP数据的时候可能会遇到以下错误,这是因为Windows Server 2003和Windows Server 2012上默认的系统用户界面语言设置不一致。
image018.jpg
查看系统默认UI语言,在Windows Server 2012上可用命令(dism /online /get-intl)查看,在Windows Server 2003上可在注册表
HKEY_LOCAL_MACHINE\SYSTEM\Controlset001\control\nls\language中查看installLanguage值,0409表示英文,0804表示中文
image019.jpg
image020.jpg
解决方法,可以修改Windows Server 2012上的系统UI语言,与Windows Server2003保持一致,当然也可以修改Windows Server 2003的系统UI语言,不过需要重新导出DHCP数据。
操作,确保Windows Server 2012上安装了中文和英文语言包,然后在注册表HKEY_LOCAL_MACHINE\SYSTEM\Controlset001\control\nls\language中修改installLanguage值,保持与Windows Server 2003一致,重启服务器后再进行DHCP数据导入操作;
image021.jpg
image022.jpg
二   使用Netsh迁移DHCP数据
2.1  因为Windows Server 2003和Windows Server 2012中DHCP类发生了改变,所以无法直接使用Netsh导出、导入DHCP配置文件;
image023.jpg
2.2 在Windows Server 2003上删除DHCP配置文件中的“添加类”;
使用命令导出DHCP配置:netsh dhcp Server dump >c:\dump_2003.txt
image024.jpg
打开导出的配置文件,找到“添加类”,在cmd中运行命令删除5项默认的类别:
Netsh dhcp Server delete class “默认路由和远程访问类别” “远程访问客户端的用户类别” 525241532e4d6963726f736f6674 0 b
Netsh dhcp Server delete class “默认 BOOTP 的类别” “BOOTP 客户端的用户类别” 424f4f54502e4d6963726f736f6674 0 b
Netsh dhcp Server delete class “Microsoft Windows 2000 选项” “Windows 2000 客户端的 Microsoft 供应商特定选项” 4d53465420352e30 1 b
Netsh dhcp Server delete class “Microsoft Windows 98 选项” “Windows 98 客户端的 Microsoft 供应商特定选项” 4d534654203938 1 b
Netsh dhcp Server delete class “Microsoft 选项” “适用于 Windows 98 和 Windows 2000 客户端的 Microsoft 供应商特定选项” 4d534654 1 b
image025.jpg
image026.jpg
使用命令重新导出配置文件,确认DHCP中默认类已删除;
image027.jpg
2.3 在Windows Server 2003上,将Windows Server 2012中DHCP配置文件的“添加类”添加到服务器中;
在Windows Server 2012中使用命令导出DHCP配置文件:
image028.jpg
打开导出的配置文件,找到“添加类”,在Windows Server 2003 cmd中运行命令添加Windows Server 2012 DHCP中6项默认的类别:
Netsh dhcp Server Add Class “默认路由和远程访问类” “远程访问客户端的用户类” 525241532e4d6963726f736f6674 0 b
Netsh dhcp Server Add Class “默认的网络访问保护级别” “受限访问客户端的默认特殊用户类” 4d5346542051756172616e74696e65 0 b
Netsh dhcp Server Add Class “默认 BOOTP 类” “BOOTP 客户端的用户类” 424f4f54502e4d6963726f736f6674 0 b
Netsh dhcp Server Add Class “Microsoft Windows 2000 选项” “针对 Windows 2000 及更高版本客户端的 Microsoft 供应商特定选项” 4d53465420352e30 1 b
Netsh dhcp Server Add Class “Microsoft Windows 98 选项” “Windows 98 客户端的 Microsoft 供应商特定选项” 4d534654203938 1 b
Netsh dhcp Server Add Class “Microsoft 选项” “适用于所有 Windows 客户端的 Microsoft 供应商特定选项” 4d534654 1 b
image029.jpg
image030.jpg
在Windows Server 2003上使用命令重新导出配置文件,确认DHCP中默认类已添加;
image031.jpg
2.4 使用Netsh命令导出、导入DHCP配置文件;
在Windows Server 2003上使用命令导出DHCP配置文件:
netsh dhcp Server export c:\dhcpdb all
image032.jpg
在Windows Server 2012上使用命令导入DHCP配置文件:
netsh dhcp Server import c:\dhcpdb all
image033.jpg

声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。