一键彻底禁用 Windows Defender:no-defender 从原理到恢复的实操指南
【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender
在调试环境里跑长时间任务时,Windows Defender 总爱在后台扫描:磁盘 IO 突然拉高,Windows安全中心 里的防火墙还会挡住你要测试的端口。no-defender 就是为这种情况准备的小工具——一条命令禁用 Windows Defender 和防火墙,一条命令再恢复原状。下面按"拿到它 → 用起来 → 验明白 → 收干净"的顺序讲一遍。
🔍 它到底是什么,为什么这样做不会弄坏系统
no-defender 通过 Windows 内置的 WSC(Windows Security Center,即安全中心)API 工作。WSC 的作用类似一个"登记处":第三方杀毒软件通过它向系统报备"我在这台机器上"。
一旦报备成功,系统会自动把 Windows Defender 让出来。no-defender 就是把自己的名字写进这个登记处,让系统"心甘情愿"地停用 Defender,而不是去改注册表或者硬杀服务。这也是它稳定、且随时能还原的根本原因。
README 里还提到一个限制:为了让重启后依旧生效,工具会把自己加进开机启动项,所以二进制文件需要一直留在磁盘上,删了等于白做。项目说明见 README.md。
🚀 三步上手:获取、禁用、验证
第一步,获取工具。克隆仓库,把no-defender-loader可执行文件放在一个固定目录里(后面恢复时还要用):
git clone https://gitcode.com/GitHub_Trending/no/no-defender第二步,跑一条禁用命令。先只关 Defender,防火墙不动:
no-defender-loader --av它做的事情就是向 WSC 登记自己这台机器已有第三方防护。命令正常返回后,打开 Windows 安全中心,"病毒和威胁防护"页面应该已经提示由第三方安全软件接管。
第三步,验证是否生效。用 PowerShell 查一下 Defender 自身的状态:
Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled, AntivirusEnabled看到两个值都变成False,就说明实时保护和防病毒功能确实被停掉了;还是True的话,检查当前窗口是否以管理员身份运行。
📋 我想做什么,就跑哪条命令
参数不多,一张表全部覆盖:
| 需求 | 命令 |
|---|---|
| 只禁用 Windows Defender | no-defender-loader --av |
| 只关闭 Windows 防火墙 | no-defender-loader --firewall |
| Defender 和防火墙一起关 | no-defender-loader --av --firewall |
| 自定义安全中心里的显示名称 | no-defender-loader --av --name "调试专用防护" |
| 恢复全部安全功能 | no-defender-loader --disable |
| 查看帮助 / 版本号 | no-defender-loader --help/no-defender-loader --version |
--name值得多说一句:不加的话,安全中心会显示默认名github.com/es3n1n/no-defender,像一行报错代码。给个顺眼的名字,回头自己看列表时不会一头雾水。
⚖️ 改注册表、停服务、组策略,哪种更省心
| 手段 | 实际在做什么 | 容易卡在哪 |
|---|---|---|
| 改注册表 | 手动写键值让 Defender 自我关闭 | Windows 定期自检会改回去,还可能拖累后续更新 |
| 停服务 | 强杀 WinDefend 相关进程 | 服务受保护,几分钟后自己爬起来,反复拉锯 |
| 组策略 | 在 gpedit 里逐项锁定配置 | 要专业版/企业版,项多且绕,还原时未必记得动过哪些 |
| no-defender | 走 WSC 官方 API 让系统主动让位 | 不破坏系统、一条命令可还原;代价是二进制要留在磁盘上 |
前三种都是在跟系统较劲,no-defender 走的是系统本来就留好的口子:登记一次,系统自己把 Defender 让出来。要恢复时,把登记摘掉即可。
🛟 动手前先留后路,以及怎么恢复原状
禁用之前做两件事,都是几秒钟的开销:
先建一个系统还原点,出问题能整体回滚:
CheckPoint-Computer -Description "禁用 Defender 前"再把当前 Defender 配置导出留底,方便日后核对:
Export-Clixml -InputObject (Get-MpPreference) -Path "$env:USERPROFILE\defender-backup.xml"用了一段时间想收手时,一条命令就够了:
no-defender-loader --disable它会注销 WSC 登记并移除自启项,Windows Defender 和防火墙随后自动回到工作状态。跑完再用前面那条Get-MpComputerStatus复查,两个值变回True即恢复完成。
收尾:它适合谁
no-defender 最顺手的使用场景是开发调试期临时关闭保护、老机器上省下 Defender 的后台资源,以及企业环境里批量统一安全配置。工具本身没有图形界面,胜在行为可预期、恢复只需一条命令——把它当一把瑞士军刀用就行,用完记得归位。
【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考