Windows下导入导出DHCP作用域主要依赖netsh(兼容Server 2003–2012 R2,仅导出配置、需本地管理员权限)和PowerShell(Server 2012+推荐,支持租约导出、自动激活、-Force覆盖及-BackupPath备份)。
windows 下用命令行快速导入导出 dhcp 作用域,主要靠 netsh 和 powershell 两类工具。前者兼容性广(尤其适用于 server 2003–2012 r2),后者功能更强、更推荐用于 server 2012 及以后版本。关键不是“一键完成”,而是选对命令、注意权限和路径规范。
使用 netsh 导出/导入作用域(适用于旧版系统)
netsh dhcp 命令简单直接,但要求操作账户是本地管理员(域管理员可能因权限继承机制反而报“拒绝访问”)。导出文件为纯文本格式,不包含租约数据,仅保存配置。
- 导出全部配置:
netsh dhcp server \ServerName export C:dhcp_backup.txt all - 导出指定作用域(如 192.168.10.0):
netsh dhcp server \ServerName export C:dhcp_backup.txt 192.168.10.0 - 导入前需确保目标服务器上没有同名作用域,否则会失败;导入命令类似:
netsh dhcp server \ServerName import C:dhcp_backup.txt all - 执行后需手动在 DHCP 控制台中启用新导入的作用域,它默认处于“未激活”状态
使用 PowerShell 导出/导入(推荐用于 Server 2012+)
PowerShell 的 Export-DhcpServer 和 Import-DhcpServer 命令支持完整配置 + 租约数据导出,且可精确控制范围、版本(v4/v6)、备份路径,更可靠。
- 导出全部(含租约):
Export-DhcpServer -ComputerName "DHCP01" -File "C:ackupdhcp_full.xml" -Leases - 只导出配置(不含租约):
Export-DhcpServer -ComputerName "DHCP01" -File "C:ackupdhcp_cfg.xml" - 导入时若目标已有同名作用域,加
-Force参数覆盖;建议先加-BackupPath指定备份位置,防止误操作:Import-DhcpServer -File "C:ackupdhcp_full.xml" -BackupPath "C:ackuppreimport_bak" - 导入后作用域自动激活,但需确认 DHCP 服务已运行且服务器已获域授权(域环境)
操作前必须检查的三件事
无论用哪种工具,跳过这些步骤极易导致导入失败或服务异常:
- 权限验证:本地管理员组成员身份;域环境中需同时具备“DHCP 管理员”和“域管理员”权限(仅域管理员组成员可能不够)
- 路径与文件权限:确保目标目录存在、有写入权限;XML 或 TXT 文件不能被其他进程占用(如正被记事本打开)
-
服务状态与授权状态:运行
Get-Service dhcpserver确认服务正在运行;域环境下用Get-DhcpServerInDC验证服务器已授权,否则导入后仍无法响应客户端请求
迁移或恢复后的必要验证动作
导入不是终点,验证才能确认是否真正可用:
- 在 DHCP 控制台中查看作用域列表,确认新作用域状态为“已激活”,且地址池统计显示“已分配”数非零
- 从客户端执行
ipconfig /release && ipconfig /renew,观察是否获取到新网段 IP 并正确应用 DNS、网关等选项 - 用
Get-DhcpServerv4ScopeStatistics查看各作用域租约使用率,对比导入前后变化;若长期为 0,说明客户端未切换或网络策略拦截了 DHCP 流量

















