Windows Defender作为系统自带的杀毒软件,确实让不少人又爱又恨。爱的是它免费、无广告、查杀能力还不弱,恨的是它有时候管得太宽——明明是个正经软件,下载下来刚解压就被秒删,或者运行时直接被拦下来,连个提示都没看清。尤其是搞开发、做自动化脚本、用一些破解版调试工具的朋友,十有八九都遇到过这种情况。今天这篇就专门解决“软件被拦截打不开”的问题,把Windows Defender安全中心的关闭方法、移除逻辑、以及关了之后怎么保证系统安全,一次性讲透。
先说清楚一个事实:Windows Defender其实是没法真正“卸载”的。它不像普通软件那样能在控制面板里点一下移除,因为它是系统组件,和Windows安全中心深度绑定,受“受信任的安装程序”保护。大多数教程里说的“移除”,本质上都是把它禁用、停掉服务、改掉策略,让它的实时防护不再起作用。所以这篇文章里我会按“临时关闭-永久禁用-彻底隔离”三个层级来写,你根据自己的实际需求选对应的方案就行。
适合看这篇的人:软件开发者、破解软件爱好者、跑批处理脚本的运维、以及被Defender误杀过文件的普通用户。如果你是小白,也可以按步骤操作,关键地方我会写清楚每一步是干什么的、为什么这么干。
1. 先搞清楚分级的道理:Defender到底拦的是什么
很多人上来就百度“怎么关闭Windows Defender”,然后跟着乱七八糟的教程把服务禁用了,结果发现Defender还活着,或者系统出了奇怪的问题。这就是没搞懂Defender的分层结构。
Windows Defender大致分了三层:界面层(就是你看到的Windows安全中心)、策略层(组策略/注册表里的开关)、服务层(后台跑的防护引擎)。
- 界面层管的是你点开关的地方,比如“实时保护”那个滑块;
- 策略层管的是允许不允许你改开关的权限,比如篡改防护就是这一层的;
- 服务层是真正干活的,WinDefend服务、SecurityHealthService这些,负责扫描文件、拦截进程。
你只把界面层的开关关掉,策略层和服务层还在跑,当然没用。你只把服务停了,界面层的防护开关还显示开着,系统又会自动拉起来。所以要想彻底让Defender“闭嘴”,就得从策略层动手,最后再处理服务层。
再来说说Defender到底在拦什么。它拦截的不仅仅是病毒,还有几种情况:
- 未知信誉文件:新编译的exe、从网盘下的带签名但签了个没听过的公司的安装包,这类文件Defender没见过的,都会被归到“低信誉”里,轻则弹窗提示,重则直接隔离。
- 行为特征匹配:某些开发工具、注册机、内存修改器,行为特征和木马很像,Defender会按“潜在不需要的软件”或者“严重”级别处理。
- 宏脚本和PowerShell命令:Office宏、ps1脚本,一旦代码特征匹配到攻击模式,立马拦截。
- 压缩包里的“待定”文件:某些加了壳的程序,解压时就被查出来,Defender会隔离压缩包里的内容。
明白这个逻辑之后,你就知道自己该选哪条路了:如果只是偶尔跑一个软件,加排除项就行;如果打算长期搞开发、经常编译新程序,建议把实时保护关了;如果是专业测试环境或者特殊用途的机器,可以考虑彻底禁用。
2. 最稳妥的第一步:先把文件加入排除项,而不是急着关杀毒
先说个我自己的建议。如果你只是某个具体的软件被拦了,先别急着把整个Defender关掉,最简单、最安全、后遗症最少的办法,是把那个文件或者文件夹加进排除项。这样Defender还在运行,其他文件的体检照常做,只是放行你指定的路径。很多人在这一步就直接解决了问题,根本不需要走到“关闭Defender”那一步。
2.1 文件/文件夹排除项怎么加
- 打开Windows安全中心,左侧选“病毒和威胁防护”,拉到最下面找到“排除项”,点“添加或删除排除项”。
- 点“添加排除项”,可以选择“文件”、“文件夹”、“文件类型”或“进程”。
- 选“文件夹”的情况比较多——如果你把软件放在一个固定的目录里,直接把整个目录排除掉,省得以后每次更新都要重新加。建议排除目录而不是单个exe,因为很多软件运行时还会释放dll、缓存文件,光排除exe有时候不够。
操作很简单,但有几点细节要提醒:
- 别把整个C盘或者系统盘加进排除项,否则Defender基本就形同虚设了,而且Windows更新时的一些临时文件也可能被第三方软件误伤。
- 排除项对“实时防护”和“扫描任务”都生效。也就是说你加了排除路径之后,即使触发了一次全盘扫描,那个路径下的文件也不会被检测。
- 加了排除项之后,运行软件如果还被拦,大概率是Defender在“首次运行”时已经把你软件的相关组件隔离了。这时候要先到“保护历史记录”里点“还原”,然后再加排除,顺序不能反。
2.2 什么时候必须彻底关闭,而不是加排除项
排除项方案也有不够用的时候。比如你在做某种工具的开发,频繁生成新的exe、dll,每次生成一个新文件Defender都弹一次,这种体验太痛苦了。又比如你用的是那种需要注入线程、改写内存的调试工具,Defender的“行为监控”会把注入动作当成恶意行为,你有十个文件都加了排除也没用,因为拦的是“动作”而不是“文件”。这时候你就只能选择把实时防护关掉或者整个禁用Defender。
3. 第二级操作:通过Windows安全中心界面临时关闭实时防护
这一节讲的是最简单的方式,也是很多人已经在用的办法——直接在设置界面里关。适合临时跑一个软件、装一个驱动、执行一个脚本,用完再开回来。
具体路径:Windows安全中心 -> 病毒和威胁防护 -> “病毒和威胁防护”设置 -> 管理设置,把“实时保护”开关关掉。如果是Windows 10/11较新的版本,还要把“云提供的保护”和“自动提交样本”也一并关掉,否则智能应用控制(Smart App Control)之类的功能还可能继续拦。
这里有个Windows的设定:实时保护关掉之后,过一会儿系统会自动重新开启。这是Defender的“自我保护”机制,防止你关掉防护之后忘了开。如果你只是想临时跑个东西,这个自动恢复反而是好事。但如果你发现它十几分钟后又自动开了,那是因为你没有关掉“篡改防护”。
关于篡改防护:Windows 10 1903以后加入了“篡改防护”功能,路径在“病毒和威胁防护 -> 病毒和威胁防护设置 -> 管理设置”里,或者在Windows安全中心搜索“篡改防护”直接进。不关掉它,即使用管理员权限改注册表,系统也会在几分钟内自动恢复改动。所以但凡你要持久化地关闭Defender,篡改防护必须最先关掉。
临时关闭法的优缺点也很明显:
- 优点:安全、可逆、适合新手,不涉及系统底层改动。
- 缺点:有效期短(最多几个小时,系统会自动恢复)、不能“根本性”解决硬编码的检测问题、如果有程序提权在后台调用了Defender的扫描API,还会被触发。
所以我个人的建议是:如果你只是应急处理,临时关闭法就够了;如果你确定这台机器上跑的软件环境长期和Defender冲突,往下看第三级操作。
4. 第三级操作:组策略和注册表双管齐下,永久关闭Windows Defender
到了这一级,就不再是“关一下开关”那么简单了,而是要把策略层彻底翻过来。这里我提供两条路,一条是组策略(适合Windows专业版/企业版/教育版),一条是注册表(适合Windows家庭版,因为没有gpedit.msc)。本质上两条路改的是同一个注册表键值,只是入口不同。
注意:这一步操作涉及系统安全策略,改动前建议先创建系统还原点,或者至少用注册表编辑器“文件->导出”备份当前的注册表项。万一改坏了还能倒回去。
4.1 组策略方案(专业版用户首选)
- 按Win+R,输入
gpedit.msc回车。如果是Windows 11/10专业版或者企业版,直接就有;家庭版会提示找不到,跳到下一节注册表方案。 - 依次展开:计算机配置 -> 管理模板 -> Windows组件 -> Microsoft Defender防病毒。
- 双击右侧“关闭Microsoft Defender防病毒”,把状态改为“已启用”,确定。
- 再到“Microsoft Defender防病毒”下的“实时保护”子项,双击“关闭实时保护”,改为“已启用”。
完成之后,Defender的实时防护按理说就停了。但只改这个还有一个副作用——托盘图标上会一直显示一个黄色的警告标,提示你杀毒软件没开。另外Windows安全中心页面里的“病毒和威胁防护”也会出现红条,提示“还原操作”。这些都正常,不用管它。如果你觉得碍眼,可以再配合策略里的“隐藏所有通知”相关的项处理,不过一般来说没必要。
4.2 注册表方案(家庭版及各种精简版系统通用)
组策略最终落到注册表其实就两个键值,手动改注册表效果等同,而且适用于所有版本。用注册表方案时,建议按顺序做三件事:
第一步,关篡改防护。这个必须在Windows安全中心界面里做,注册表改不了(键值被系统保护)。上一篇已经说了路径,这里不重复。
第二步,写入DisableAntiSpyware键值。打开注册表编辑器,定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender右侧空白处右键,新建 -> DWORD(32位)值,命名为DisableAntiSpyware,双击把数值改为1。这个键值就是组策略里“关闭Microsoft Defender防病毒”的本体。
第三步,关闭实时防护。在Windows Defender项下,新建一个子项,命名为Real-Time Protection,选中它,在右侧新建DWORD,命名DisableRealtimeMonitoring,数值改为1。
改完重启电脑。重启后如果Windows安全中心显示“病毒和威胁防护已关闭”,并且不会被自动打开,说明生效了。
但这里有个坑:如果你用的是Win10 1903以上版本,只改DisableAntiSpyware这个键可能不够——因为你没关掉篡改防护,系统会把这个键值自动复原。所以第一步必须做。另外老版本上有效的DisableAntiSpyware,在新版本上微软已经逐渐不再理会它了(微软在文档里明确说过这个值在新版本中已经被弃用)。所以组策略/注册表这条路在最新的Windows 11 22H2以上的系统上,效果是打折的。真正能保证生效的,还得靠我下面讲的“禁用服务+清理计划任务”组合拳。
4.3 为什么新系统上“策略关闭”会失效
微软从Windows 10 2020年更新之后,就逐步收紧了对Defender的关闭选项。老教程里百试百灵的注册表键值,很多在新系统上没效果了。用微软的话说,这是“为了确保终端安全”,但懂的人都懂,也是因为Defender的云保护、EDR功能牵动的是整个安全生态,微软不想让你随便拔插头。
所以在实机(物理机)环境里,如果你用的是新版本系统,最有效的办法其实是:先用TrustedInstaller权限替换或禁用驱动、然后是停服务、再配合计划任务清理。这里面最狠的一招是把Defender的驱动文件和dll文件加上“拒绝Everyone读/执行”的ACL权限,Defender核心引擎加载不起来,自然就不起作用了。这一招在新旧系统上都适用,但因为操作比较暴力,我就先不展开讲具体命令了,一般用户走到组策略/注册表这步已经够用。
5. 更彻底的折腾:禁用WinDefend服务、拦截Defender重启
如果你把前面几步都做了,但重启后Defender又支棱起来了,说明它的服务还在。这时候就要动用服务管理器和任务计划程序。
5.1 禁用WinDefend服务
Win+R输入services.msc,找到WinDefend(全名是Windows Defender Antivirus Service),双击打开属性,把“启动类型”改为“禁用”,点“停止”把服务停掉。如果“停止”按钮是灰色的,说明服务当前被系统保护,你需要在注册表里先改一下服务启动权限。
对应注册表位置是:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend右侧有个Start值,0是启动、1是系统启动、2是自动、3是手动、4是禁用。把它改成4,然后重启。这是比较激进的操作,改了之后Windows安全中心可能出现“找不到杀毒软件”之类的提示,这是预期内的结果。
5.2 清理Defender计划任务
Defender有好几个计划任务会在固定时间强制扫描,如果任务还活着,它可能在你禁用服务后再次把服务唤醒(在Win10/11上,计划任务调用的是MpCmdRun.exe,有时候能绕过服务的启动类型限制)。打开任务计划程序库,路径是:
Microsoft\Windows\Windows Defender把里面所有任务,包括“Windows Defender Verification”、“Windows Defender Scheduled Scan”、“Windows Defender Cache Maintenance”等,全部右键禁用。不要直接删除,系统更新时可能会重建,禁用更稳定。
5.3 把Defender的“恢复操作”改成“无操作”
服务属性里还有一个“恢复”选项卡,默认情况下服务挂了会自动重启。如果前面禁用了服务,但系统因为某种保护机制又把服务触发,这个“恢复”标签页的执行动作会把服务拉起来。把“第一次失败”、“第二次失败”、“后续失败”都改成“无操作”,再把“重置失败计数”天数改到999,这样它即使挂了也不会被拉起来。
到这一步,Defender的实时保护、计划扫描、后台服务基本都歇菜了。如果你只想让它不拦软件,其实到组策略/注册表那一步就够了,这个更彻底的方案适合折腾党或者特殊用途。
6. 恢复和重装:关过的Defender怎么抢救回来
关了Defender之后想再开回来,比关掉要麻烦一点,因为系统可能已经把安全状态标记为“异常”了。不过按我下面这个顺序做,一般都能救回来。
- 先把之前改过的组策略复位。gpedit里把“关闭Microsoft Defender防病毒”改成“未配置”,把“关闭实时保护”也改成“未配置”。
- 删掉注册表里加进去的键值。把
DisableAntiSpyware和DisableRealtimeMonitoring删掉,或者直接把HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender这个项整体删除(如果这个项下没有别的自定义策略)。 - 把WinDefend服务的
Start值从4改回2(自动)。 - 任务计划程序里把禁用的Defender任务再“启用”回来。
- 重启电脑。重启后打开Windows安全中心,如果还显示“看不到杀毒软件”,去“操作中心”里看看有没有恢复提示,或者用PowerShell跑一下:
Start-MpScan -ScanType QuickScan如果这条命令能正常执行,说明Defender引擎已经被系统重新加载了。如果不行,可以用下面的命令重新注册安全中心:
Set-MpPreference -DisableRealtimeMonitoring $false- 最后,用系统自带的“启用或关闭Windows功能”找到Windows Defender(某些系统版本这里不一定有),勾选后重启。
很多人问:系统更新之后Defender会不会自动“复活”?答案是会。Windows累积更新偶尔会把策略键值重置,尤其是大版本更新后。如果你关过一次,升级大版本之后记得检查一下防护状态。
7. 关掉之后怎么保证电脑安全:替代方案与使用习惯
这是最重要的部分。把Defender关了不代表你从此裸奔,也不代表你应该裸奔。我见过不少人关了Defender之后去下载各种“破解版”,然后电脑变成矿机或者被远程控制。我可以明确地说:关闭Defender解决的是“软件被拦截”这个烦恼,不意味着你可以随便用不安全的东西。
关掉Defender之后的保护策略,我按优先级列一下:
- 用第三方杀毒代替:关Defender的直接后果就是没有实时防护。国内很多用户会直接装360、火绒之类的。这里不作具体推荐,但我只提醒一点:如果你只是因为某个软件被拦就要关Defender,装了第三方杀毒之后,它可能拦得更凶,因为第三方杀毒的特征库更多、行为管控更细。而且第三方杀毒和Defender同时存在时,Defender会自动进入被动模式,这时候你其实不用关闭它,只要在第三方杀毒里设置信任该软件就行。
- 维持默认防火墙:关闭杀毒不等于关闭防火墙。Windows防火墙(Windows Defender Firewall)是独立的组件,别把它一起关了。防火墙管的是网络层面的进出流量,杀毒管的是文件和行为,两码事。
- 用AppLocker或软件限制策略:如果你是因为要跑不信任的软件而关闭Defender,可以换个思路,用AppLocker或Windows沙盒来隔离运行。Windows 10/11专业版以上都可以用Windows Sandbox,每次会话独立环境,软件在里面随便跑,宿主机不受影响,这个比重装系统再恢复要安全太多了。
- 定期手动扫描:如果你真的把Defender停了,一个月手动扫一次,反正扫描引擎本身还能用。右键任何文件,Windows安全中心里也能“不带实时防护地”单独查杀。扫描时如果发现病毒,它还是会处理的。
- 保持Windows更新开启:这个很多人不理解,但Windows更新本身就是一个大的安全补丁机制。杀毒软件关了,系统的漏洞不能也晾着。
8. 实操中的问题和误区:把我踩过的坑集中说一下
写这篇文章的过程中,我回想了一下自己在多台机器、多个系统版本上折腾Defender的经验,把容易踩的坑集中在这里说一下。
坑一:管理设置页面里所有开关都是灰的。这是因为机器装了第三方杀毒,Defender自动进入了被动模式,很多开关就锁定不能动。想恢复默认设置,先把第三方杀毒卸载或者停用,再回来看选项就亮了。
坑二:按组策略关闭后,Windows安全中心页面还是有红色警告。这是“防篡改”的提示残留,不影响功能。如果实在看不下去,可以用注册表把HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications里的安全中心通知关掉,但我不太建议这么做,容易忘记系统处于防护关闭状态。
坑三:关闭Defender之后,Edge浏览器还是会拦下载。Edge的SmartScreen和Defender并不是一个东西,SmartScreen是浏览器层面的信誉检查,它默认扫描下载文件,即使Defender关闭了也会提示“此文件可能不安全”。想关掉SmartScreen,去Edge设置-隐私-安全性里关掉“SmartScreen保护”即可。同理,Office的“受保护视图”和“标记为受信任位置”有时候也会误伤文件,和Defender没关系,别把锅都扣到Defender头上。
坑四:关掉Defender之后,UWP应用打不开。这不是Defender的锅,而是部分UWP应用依赖Defender的“受控文件夹访问”功能,或者依赖系统的安全完整性校验。如果打不开,去安全中心“应用和浏览器控制-基于信誉的保护设置”里把“可能不需要的应用阻止”和“SmartScreen”关闭。
坑五:命令行工具被拦怎么办?如果你在写脚本、执行ps1,被Defender拦截时,光加排除项没用,需要把MpCmdRun.exe的“行为监控”排除,或者直接关闭实时保护。PowerShell的ExecutionPolicy和Defender不是一回事,别弄混了。
9. 如果上面的方案全都失效:安全模式下的最终手段
到了最后一步,如果你的系统比较特殊,比如精简版、LTSC改版,或者Defender被某些流氓软件锁定了,上面所有方法都不生效,那就只能在安全模式里操作了。
进安全模式的方法:设置-系统-恢复-高级启动,重启后选择疑难解答-高级选项-启动设置-重启,按4进入安全模式。
在安全模式下,Defender的核心服务不会正常加载(安全模式下系统只加载必要的驱动和服务),你可以趁这时候:
- 把
C:\ProgramData\Microsoft\Windows Defender\Platform\<版本号>目录下的MsMpEng.exe重命名或删除(先改ACL权限,否则会提示文件被占用)。 - 用
sc config WinDefend start= disabled命令禁用服务。 - 删除Defender的计划任务(记得先导出备份)。
这一招下去,可以说Defender就彻底没了。但提醒一句,因为微软对系统文件有完整性保护(WFP),下次系统更新时,Defender的文件会被重新拉回来。想让它彻底消失,还得配合Windows更新暂停策略,或者直接换一个不带Defender的系统版本(这里就不展开了)。
最后说几点实在的
我个人的建议是:如果你只是被Defender误伤了一个软件,优先用排除项,别为了一个软件把整个杀毒关了,不值当。如果你确实需要在关闭Defender的环境下工作,请至少保持三个习惯:一是用标准用户账号日常使用,别总是管理员权限跑一切;二是下载软件尽量走官方渠道,网盘资源用之前先在VirusTotal这种多引擎扫描网站上过一遍;三是装一个轻量级的第二意见扫描器。
拦截这个问题的本质是“信誉”和“行为”的博弈。Defender不认你的软件不代表你的软件有问题,但恶意软件也一样会想尽办法让你关掉Defender——所以关闭杀毒这个决定,要做在自己的明确需求之上,别被人忽悠着关了,还不知道为什么。
如果你看完这篇还不知道怎么选,那我的答案很简单:先用排除项,不够再临时关,最后才是永久禁用。按这个顺序来,基本不会出乱子。