在windows中可通过批处理脚本一键彻底禁用防火墙:先关闭域/专用/公用三类配置文件,再停止并禁用mpssvc服务,需管理员权限运行,且建议禁用前备份策略。
在 windows 中,可以通过批处理脚本一键禁用系统防火墙,但需注意:这会关闭所有配置文件(域、专用、公用)的防火墙,并停止 windows 防火墙服务。操作前建议确认安全环境,且需以管理员身份运行。
确认防火墙服务名称和状态
Windows 防火墙依赖 Windows Defender Firewall 服务(服务名:mpssvc)。禁用防火墙不仅需关闭规则,还需停止并禁用该服务,才能实现“彻底禁用”。
- 运行
services.msc可查看 Windows Defender Firewall 服务状态 - 服务启动类型默认为“自动(延迟启动)”,仅关闭规则不等于停服
- 若服务被第三方安全软件接管(如某些杀毒软件会替换 mpssvc),直接操作可能无效
编写核心批处理命令
以下命令组合可实现“一键彻底禁用”:关闭所有配置文件防火墙策略 + 停止服务 + 设置为禁用启动
-
netsh advfirewall set allprofiles state off—— 关闭域/专用/公用三类防火墙 -
net stop mpssvc—— 立即停止 Windows Defender Firewall 服务 -
sc config mpssvc start= disabled—— 设置服务启动类型为“禁用”,重启后也不会自启
完整可执行的 .bat 脚本示例
将以下内容保存为 disable_firewall.bat,右键选择“以管理员身份运行”:
@echo off title 彻底禁用 Windows 防火墙 echo 正在关闭所有防火墙配置文件... netsh advfirewall set allprofiles state off >nul 2>&1 echo 正在停止 Windows Defender Firewall 服务... net stop mpssvc >nul 2>&1 echo 正在禁用防火墙服务启动项... sc config mpssvc start= disabled >nul 2>&1 echo. echo ✅ 防火墙已彻底禁用(需重启生效部分设置) echo 按任意键退出... pause >nul
说明:>nul 2>&1 用于隐藏执行过程中的提示与错误(如服务已停止时的警告),提升用户体验;最后的 pause 防止窗口闪退。
恢复防火墙的简易方法
禁用后如需恢复,可另建一个 enable_firewall.bat,内容如下:
sc config mpssvc start= autonet start mpssvcnetsh advfirewall set allprofiles state on
同样需管理员权限运行。建议禁用前先备份当前策略(netsh advfirewall export "fw_backup.wfw"),便于后续还原。











