powershell批量迁移dhcp作用域的核心是使用export-dhcpserver全量导出(含作用域、保留项、选项及租约)并用import-dhcpserver导入目标服务器,要求源目标均装dhcp角色、同域且已授权,导入后验证作用域状态与租约一致性。
用 powershell 批量迁移 dhcp 作用域到新服务器,核心是导出源服务器全部配置(含作用域、保留项、选项等),再导入目标服务器。整个过程不依赖图形界面,适合批量、自动化和跨版本迁移(如从 server 2016 迁到 2022),且能保留租约状态,客户端无感知。
确认前提条件
迁移前必须满足以下几点,否则命令会失败或导入后服务异常:
- 源服务器和目标服务器都已安装 DHCP 服务器角色(
Install-WindowsFeature DHCP -IncludeManagementTools) - 两台服务器均加入同一 Active Directory 域,且你拥有域管理员权限和本地管理员权限
- 目标服务器已在 AD 中授权(
Add-DhcpServerInDC -DnsName 新服务器名 -IPAddress 新IP) - 源服务器 DHCP 服务处于运行状态,且所有作用域已激活;目标服务器 DHCP 服务可处于停止或启动状态(导入时会自动启用作用域)
- 确保目标服务器网络适配器 IP 与源服务器作用域网段兼容(例如:源作用域为 192.168.1.0/24,目标服务器需有该网段的静态 IP 或已配置相应中继)
导出源服务器全部 DHCP 配置
在源服务器上以管理员身份打开 PowerShell,执行导出命令。推荐使用 XML 格式,兼容性好、内容完整:
mkdir C:\dhcp-export Export-DhcpServer -ComputerName "源服务器名" -File "C:\dhcp-export\dhcp-full.xml" -Verbose
该命令导出全部 IPv4 和 IPv6 设置、所有作用域、作用域选项、保留地址、策略、DNS 更新设置等。若只需 IPv4,可加参数 -ScopeId 192.168.1.0 指定单个作用域;但批量迁移建议全量导出。
注意:导出文件包含敏感信息(如作用域密码、DNS 凭据),请限制访问权限,迁移完成后及时清理临时文件。
导入配置到目标服务器
将导出的 dhcp-full.xml 文件复制到目标服务器(例如放在 C:\dhcp-import\ 目录下),然后在目标服务器 PowerShell 中执行:
mkdir C:\dhcp-backup Import-DhcpServer -ComputerName "目标服务器名" -File "C:\dhcp-import\dhcp-full.xml" -BackupPath "C:\dhcp-backup\" -Verbose
关键参数说明:
-
-BackupPath:强制系统在导入前自动备份当前目标服务器上的 DHCP 数据(即使为空),便于出错时回滚 -
-Verbose:显示详细进度,包括每个作用域是否成功导入、跳过项(如重复保留地址)、警告(如作用域已存在) - 若目标服务器已有部分配置,
Import-DhcpServer默认会跳过已存在的作用域,但会覆盖同名作用域内的选项和保留项——这是安全行为,避免误删
验证与收尾操作
导入完成后,立即验证关键项:
- 运行
Get-DhcpServerv4Scope检查所有作用域是否列出,状态为Active - 运行
Get-DhcpServerv4Lease -ScopeId 192.168.1.0抽查几个作用域,确认租约数量与源服务器基本一致(允许少量差异,因导入瞬间可能有客户端续租) - 在目标服务器 DHCP 控制台中检查保留地址、作用域选项(如 003 路由器、006 DNS 服务器)是否完整
- 停用源服务器 DHCP 服务(
Stop-Service dhcpserver)并观察客户端是否平稳切换(通常 1–2 分钟内完成续租)
确认无误后,可在源服务器上卸载 DHCP 角色或将其转为备用服务器。不建议长期双 DHCP 在线,除非已配置故障转移关系。











