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
杀软老是误报,防火墙拦你的端口,手动停服务又管不久。no-defender 通过向 Windows 安全中心声明"有第三方杀毒在场",让你一条命令禁用 Defender 与防火墙,再用一条命令还原。下文讲原理、命令细节和不生效时怎么办。
什么是 no-defender
Windows 内置了 Windows 安全中心(WSC)服务,杀毒产品靠它向系统通报"我已就位,别再跑 Defender"。no-defender 走的正是这个接口:注册一个第三方杀毒产品在场的声明后,系统会自动停掉 Defender 的实时保护,按你的要求连防火墙一起停。它不停服务、不改组策略、不动 Defender 本体,宿主服务可能仍在运行,被关掉的只是防护开关。
动手前:先确认三件事
上游仓库已被 DMCA,现在只剩文档;如果你手头已有no-defender-loader可执行文件,直接开始即可。
- 终端必须是管理员权限。用管理员身份打开 PowerShell,后面的查询才跑得通。
- 记录当前状态。跑两条查询:
Get-Service WinDefend Get-NetFirewallProfile | Select Name, Enabled成功输出:WinDefend为Running,三个配置文件(域、专用、公用)的Enabled列全为True。
Get-MpComputerStatus | Select RealTimeProtectionEnabled成功输出:True。这才是 Defender 实时保护真正的开关值。
- 先学会读输出。"服务在跑"不等于"防护开着",后文判断状态都看查询结果,别盯服务状态。
三条核心命令
禁用防护:一个目标一条命令
⚠️ 只在隔离 / 测试环境使用,生产机器请先评估风险窗口再操作。
只关 Defender:
no-defender-loader --av执行后看上面两条查询,RealTimeProtectionEnabled变成False即生效。此时WinDefend可能仍是Running,属正常,关掉的是实时保护,不是服务。
只关防火墙:
no-defender-loader --firewall执行后看上面的防火墙查询,三个配置文件应变为False。
两个一起关,并换个上报名称:
no-defender-loader --av --firewall --name "My Test AV"--name指定上报给系统的第三方产品名,默认是项目名,自定义后在安全中心里更容易分辨。
禁用后如何还原:一条命令重新启用
no-defender-loader --disable它撤掉之前"杀毒在场"的声明,重新启用 Defender 与防火墙。
执行后看上面两条查询:实时保护回到True,三个防火墙配置回到True,Windows 安全中心界面可正常操作、无灰置和"由组织管理"提示,才算还原完成。
验证状态:以"三处一致"为准
判断当前是关是开,看三点:
- 服务侧:
wscsvc正常;WinDefend状态仅供参考,防护关闭不等于服务停止。 - 功能侧:防火墙配置文件与实时保护开关的值符合你的意图。
- 界面侧:Windows 安全中心能打开、能点,没有"由组织管理"或灰置项。
三处一致,状态才可信;任何一处对不上,走下面排查。
场景速查
| 你的情况 | 怎么用 |
|---|---|
| 隔离环境调试,Defender 误报挡路 | 命令加--av |
| 只需放行测试流量,不碰杀毒 | 命令加--firewall |
| 模拟"无防护"环境验证产品行为 | --av --firewall一起加 |
| 想区分上报的产品名 | 加--name "你的名称" |
| 测试结束,全部恢复 | 用上面的还原命令 |
完整参数清单见参数说明。
持久化:为什么 Defender 重启后又复活
no-defender 靠把自己写进自启动项来让禁用状态跨重启保持,有两点要知道:
- 可执行文件不能删。删掉 no-defender-loader,自启动项就指向空气,下次开机全部恢复。
- 启动项里多出的记录属正常现象,别当成病毒误删。
⚠️ 清理顺序:先执行还原命令(见上文),再移除自启动项,顺序反了会连工具一起丢。
是否持久化成功,靠重启验证:重开机后跑上面两条查询,值保持关闭即生效。
不生效时:三步排查
第 1 步,看执行开关的服务是否正常:
Get-Service wscsvc成功输出:Running。WSC 是真正执行这次开关操作的服务,它停了或禁用时,命令"跑了但没效果",先启动服务再重试。
第 2 步,读 Defender 运行日志看卡在哪:
Get-WinEvent -LogName "Microsoft-Windows-Windows Defender/Operational" -MaxEvents 10成功输出:能读出最近 10 条事件。出现策略类条目说明有外部策略在干扰,出现组件报错就进第 3 步。
第 3 步,修复系统文件完整性:
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth成功输出:两条命令都无错误结束。若有文件被修复,重启后再跑一次禁用命令。
红线清单
- 用完必还原:结束测试立刻跑还原命令,机器长期没有实时保护就是定时炸弹。
- 禁用期间别删二进制:删文件会让持久化失效,机器陷入"该关却没人管"的混乱状态。
- 别让多个在场声明并存:装着真第三方杀毒时再跑本工具,两份声明会互相打架。
- 别上生产:生产机器先评估风险窗口,本工具面向隔离 / 测试环境。
- 别用在组策略管控的机器:机器已被域策略接管时,手工开关不会真正生效。
常见问题
Q:重启之后防护又开了,为什么?
A:持久化依赖自启动项,可执行文件被删或启动项丢失,开机自然恢复。确认文件还在,再重启查一次状态。
Q:怎么判断防护真的关掉了?
A:把两条查询的结果和 Windows 安全中心界面对一遍,三处一致才可信;拿不准就看 Defender 运行日志。
Q:用完必须还原吗?
A:非隔离环境必须。跑还原命令找回实时保护,别让系统长期没有防护。
隔离环境测试、开端口验证,不想手动折腾服务和策略时,no-defender 值得一试:一条命令关、一条命令开,文件留着,重启也保持关闭。干净退出就是两步:先还原,再删自启动项。
no-defender 是一个通过 Windows 安全中心(WSC)接口,用一条命令禁用 Windows 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),仅供参考