Windows U 盘 IPv4 DHCP 工具 v1.0.0 ================================ 适用:Windows 10 / Windows 11,自带 Windows PowerShell 5.1,无须安装软件或联网下载依赖。 使用方法 -------- 1. 完整解压 windows-usb-dhcp.zip,把解压后的全部文件复制到 U 盘。 不要只复制 .cmd 文件,不要在 ZIP 压缩包窗口内直接运行。 2. 插入目标电脑,可先双击 PREVIEW.cmd,查看将处理的网卡,不修改设置。 3. 双击 RUN-DHCP.cmd,在 Windows 管理员权限(UAC)提示中选择“是”。 普通用户账户可能需要输入管理员凭据。 4. 等待窗口显示结果,按 Enter 关闭。 普通 U 盘在未预配置的现代 Windows 上不能仅凭盘内文件实现插入自动执行。 本包按“无需预装、双击并确认管理员权限”的方式工作;不安装服务、监听器或计划任务。 会修改什么 ---------- - 默认处理所有已启用的物理以太网和 Wi-Fi 网卡,包括当前未连接的网卡。 - 将 IPv4 地址和默认网关改为通过 DHCP 获取,并将 IPv4 DNS 改为自动获取。 - Windows 的这项设置会清除所选网卡原有的静态 IPv4 地址及默认网关,可能短暂断网。 - 不改变 IPv6、虚拟网卡、已禁用网卡、Wi-Fi 密码或系统的永久脚本执行策略。 - 若只想改一张网卡,或保留手动 DNS,请使用下方的高级命令。 结果含义 -------- OK ... DHCP; IPv4 ...:已配置 DHCP,且已观察到 DHCP 分配的有效地址。 OK ... DHCP enabled; no DHCP lease yet:已启用 DHCP,但尚未取得地址。 请接好网线或连接 Wi-Fi,并确认路由器/所在网络提供 DHCP。169.254.* 是自动私有地址, 不代表 DHCP 分配成功;本工具不会把它当作成功取得租约。 FAILED / ERROR:查看具体错误和日志。若部分网卡成功,其更改会保留,不会自动回滚。 备份和日志 ---------- 每次实际执行前,先将原始配置保存到本机: %ProgramData%\UsbDhcp\Runs\日期时间-随机编号\ before.json 所选网卡的原 IPv4 地址、前缀长度、路由、DNS 和 DHCP 状态 before-netsh.txt Windows 导出的完整 IPv4 配置,可区分原 DNS 自动/静态模式 run.log 执行过程 result.json 每张网卡的执行结果(正常进入网络操作流程后生成) 如果备份或日志无法创建,脚本不会修改网络。备份只保存在本机,不上传到网站。 需要恢复静态配置时,参考 before.json 和 before-netsh.txt,在网卡的 IPv4 属性中恢复。 before-netsh.txt 是整台电脑的 IPv4 导出,不提供自动恢复按钮,避免覆盖其他网卡后续的更改。 高级用法 -------- 在 PowerShell 中切换到解压目录,先查看网卡编号: powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Set-Dhcp.ps1 -Preview 只修改编号为 8 的物理网卡,并保留现有 DNS: powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Set-Dhcp.ps1 -InterfaceIndex 8 -KeepDns -Pause 只修改编号为 3 和 8 的物理网卡,IPv4 DNS 也改为自动: powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Set-Dhcp.ps1 -InterfaceIndex "3,8" -Pause 未指定 -Pause 时适合命令行调用。退出码 0 表示所选网卡配置成功(不保证已取得租约), 退出码 1 表示失败。企业组策略若禁止 PowerShell,需由管理员按组织策略处理。 整个过程不下载或执行远程脚本,不改动服务器或其他电脑的网络。 验证范围 -------- 已做 PowerShell 语法检查及模拟 Windows 网络接口的行为测试。 交付环境为 macOS / Linux,尚未做真实 Windows 网卡、UAC 或拔插 U 盘实测。 首次使用建议在本地可操作的电脑上先运行 PREVIEW.cmd,再执行切换并查看结果。 手工验收 -------- 1. PREVIEW.cmd 中确认网卡列表;虚拟网卡和禁用网卡不应出现。 2. RUN-DHCP.cmd 执行后,在“网络连接 -> 网卡属性 -> IPv4 属性”中确认 IP 和 DNS 自动获取。 3. 用 ipconfig /all 检查 DHCP 状态和地址;将其与 result.json 对照。 4. 检查备份文件存在,原静态 IP/DNS 已记录,IPv6 和虚拟网卡保持原状态。 5. 取消一次 UAC,确认未改设置;再运行验证重复执行可以正常完成。 卸载:没有常驻程序;删除 U 盘上的文件即可。已经应用的 DHCP 设置会保留。 下载:https://allllm.cloud/usb-dhcp/ 参考资料 -------- Microsoft AutoRun 变更: https://www.microsoft.com/en-us/msrc/blog/2009/04/autorun-changes-in-windows-7/ Microsoft netsh interface: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/netsh-interface