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 停止响应,十有八九不是服务本身的问题,真正的开关藏在 WSC(Windows Security Center)这一层。no-defender 就是通过 WSC 官方 API 操作这一层的开源工具:一条命令让系统按正规流程禁用或恢复 Defender 与防火墙,不改注册表、不强杀服务。这篇文章按"定位 → 修复 → 验证"的实际操作顺序来写,每一步只给最必要的操作。
先别急着重启服务:30 秒看懂 WSC 到底在管什么
Windows 内置的 WSC 服务,说白了就是安全软件的管理台,一张"花名册":任何杀毒软件装好后都会去这里登记,向系统声明"现在由我管安全"。
Defender 就认这个规矩——只要花名册上登记着别的安全软件,它会自动让位、交出实时保护。所以很多"Defender 莫名失效"的故障,病根根本不在 Defender 自己身上:WSC 那一层的登记状态错了,服务重启一百遍也是白搭。
结论先放在这:这类问题该走 WSC 官方 API 修,而不是直接改注册表或强禁服务——前者是微软预留的正规通道,后者是拿锤子砸锁。
有个冷知识:这套 WSC API 至今没有公开文档,微软要求签署 NDA 才能拿到说明。no-defender 的作者等于把这套"黑盒"整理成了命令行工具,这也是它和普通"脚本杀进程"的本质区别。
走官方通道的好处很实在:系统兼容性有保证,操作随时可逆,不会拖累后续的 Windows 更新,企业环境里也方便批量管理。
三条命令确认故障卡在哪一层
先打开管理员 PowerShell。下面这段命令做三件事:查三个核心安全服务的状态、看 WSC 花名册上现在登记着谁、确认各配置文件下防火墙是否开着。
# 查 WinDefend、WSC、安全健康三个核心服务的状态 Get-Service WinDefend, wscsvc, SecurityHealthService | Format-Table Name, Status # 看 WSC 登记册里现在"谁在管安全" Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct | Select-Object displayName # 各配置文件下的防火墙开关 (Get-NetFirewallProfile).Enabled拿到输出后,对照下面三种典型症状判断你卡在哪一层:
- 服务全是 Stopped:故障在服务层,常规手段(重启服务、系统修复)可以试,不灵就直接跳到后面的系统级兜底。
- 服务 Running,但实时保护关着、扫描点不动:服务好好的,是 WSC 登记状态把 Defender"挤"了下去。这正是 no-defender 的主场。
- 安全中心显示"由组织管理",但你从没配过任何策略:说明 WSC 或组策略层被第三方软件写脏了,同样走 WSC 通道纠正。
这一步很多人会漏掉:不定位就上手修,修半天才发现方向错了。花十秒钟把三行输出看完,比盲目操作省得多。
no-defender 使用方法:按症状下对药
动手前花两分钟建个系统还原点,真出问题能退回来。
再说清原理,免得用糊涂:no-defender 通过 WSC API 在系统里注册一个"第三方安全软件",系统检测到有防护在场,就按官方流程停掉内置的 Defender;要恢复时撤掉登记,Defender 自己回来。完整参数表可以参考仓库的 README.md,核心就下面这几个。
克隆项目后,在管理员终端里运行:
# 获取工具 git clone https://gitcode.com/GitHub_Trending/no/no-defender # 只禁用 Defender(防火墙保留)——最常用的精准模式 no-defender-loader --av # 只禁用防火墙 no-defender-loader --firewall # 恢复 Windows Defender 和防火墙 no-defender-loader --disable # 可选:自定义登记到 WSC 里的显示名称 no-defender-loader --av --name "MySecurity"这里有个坑:--disable的实际含义是"重新启用",也就是恢复 Defender。名字容易让人往反了理解,执行前看一眼参数说明。
另外两点容易踩:
- 重启后要持续生效,二进制必须留在磁盘上:工具会把自身加进自启动,每次开机重新登记一次。删掉这些文件,效果就跟着消失。
- ⚠️ 该项目 2024 年曾被 DMCA 下架,官方发布和源码被清除。拿到手后建议先校验文件完整性再运行。
修完别直接走人:一份状态对照表
改完登记不等于修好了。跑这两行命令,把输出和预期逐项对照:
# Defender 侧:目标恢复防护时,两项都应显示 True Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled # 防火墙侧:各配置文件应均为 True (Get-NetFirewallProfile).Enabled如果看到AntivirusEnabled为 True,说明防病毒功能已按预期就位。再顺手做三件收尾:实时保护开关能正常拨动、快速扫描能跑完、威胁历史能打开,任务栏安全中心图标和组策略入口没被锁死,整条链路就算通了。
✅ 只有输出和预期全部对上,才算修复完成——登记改了就完事,是最常见的"假修好"。
上面都不灵:系统级兜底修复
如果服务能启动、WSC 登记也正常,但功能还是坏的,那大概率是系统组件本身受损,得换重锤。下面这段做完整性检查和映像修复,耗时较长,建议错峰执行:
# 系统文件完整性检查 sfc /scannow # Windows 映像修复 DISM /Online /Cleanup-Image /RestoreHealth # 安全中心 AppX 组件重置(界面打不开时用) Get-AppxPackage *Windows.Security* | ForEach-Object { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }跑完重启一次。到这一步还没解决,基本可以判定是第三方安全软件深度驻留导致的,建议彻底卸载后重建系统组件,或直接走微软官方支持。
两个高频卡点的快速排查
执行成功,但防护没恢复
原因通常是权限不够,或者别的杀毒软件还在抢 WSC 的登记位。按顺序处理:确认用的是管理员 PowerShell → 临时退出其他安全软件 → 翻一下 Windows 安全日志找登记失败的记录。
修好了,过一阵服务又自己停了
这是组策略或注册表在跟你对着干。用gpresult /h C:\gp_report.html导出策略报告,再查HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender这个注册表键,把锁住你的策略找出来删掉。
长期防复发:监控、备份与部署
维护体系不用搞复杂,三个思路够用:
- 监控:写个每周跑一次的小脚本,把
Get-MpComputerStatus和三个核心服务的状态记进日志,看趋势比看单点重要。 - 备份:动手改配置前,用
Export-Clixml把Get-MpPreference和Get-NetFirewallRule的输出存个档,出问题Import-Clixml导回再管道给Set-MpPreference,配合no-defender-loader --disable恢复登记即可。 - 企业环境:通过组策略统一分发二进制、配好执行权限,接进集中监控做异常上报,思路不变。
每月扫一遍服务状态、跟得上 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考