彻底禁用 Windows Defender (MsMpEng.exe) 实战总结从踩坑到成功背景Windows Defender 的MsMpEng.exe占用内存高达 91%想彻底禁用它和实时防护。经过一系列尝试最终通过安全模式修改注册表成功解决内存从 91% 降到 48.3%MsMpEng 从 548MB 降到 15.4MB。本文完整记录了过程中的每一个坑和最终方案供大家学习参考。一、问题背景系统Windows 11现象MsMpEng.exeWindows Defender 防病毒引擎占用 91% 内存目标彻底禁用 Windows Defender 实时防护释放内存路径C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.26070.9-0\MsMpEng.exe二、核心难点PPL 受保护进程这是整个过程中最关键的认识。WinDefend服务是PPLProtected Process Light受保护进程注册表里LaunchProtected 3。查看方法Get-ItemPropertyHKLM:\SYSTEM\CurrentControlSet\Services\WinDefend|Select-ObjectLaunchProtected,Start,ImagePath,Type输出LaunchProtected : 3 ← PPL 保护级别 Start : 2 ← 自动启动 ImagePath : C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.26070.9-0\MsMpEng.exe Type : 16 ← 独立进程服务不是 svchost 托管PPL 带来的限制全部实测验证尝试的操作权限结果sc stop WinDefend管理员拒绝访问sc stop WinDefendSYSTEM拒绝访问Stop-Process MsMpEng管理员拒绝访问Stop-Process MsMpEngSYSTEM能 kill但服务立即重启它修改注册表Start4SYSTEM写入成功但秒被运行中的服务还原修改注册表ImagePathSYSTEM写入成功但秒被还原结论只要 WinDefend 服务在运行任何对它配置的修改都会被实时还原。三、踩过的坑错误总结坑 1当前不是管理员权限通过whoami /groups查看完整性级别Mandatory Label\Medium Mandatory Level S-1-16-8192Medium 级别8192不是管理员管理员是 High12288。修改HKLM注册表、停止服务都需要管理员权限。解决通过Start-Process -Verb RunAs提权或让用户双击.cmd触发 UAC。坑 2PowerShell 的$_变量被外层 shell 吃掉在通过 bash 工具执行powershell -Command ...$_...时双引号里的$_被外层 shell 当变量展开成空导致命令解析错误。解决改用单引号包裹-Command参数或用 base64 编码命令importbase64 encbase64.b64encode(ps_script.encode(utf-16-le)).decode()subprocess.run([powershell,-EncodedCommand,enc])坑 3反斜杠被转成正斜杠在 here-string 里写的C:\helper.py实际执行时变成C:/helper.py。PowerShell 注册表路径HKLM:\SOFTWARE\...的反斜杠被破坏。解决在脚本里用$bs [char]92构造反斜杠避免字面反斜杠$bs[char]92$wdHKLM:$($bs)SYSTEM$($bs)CurrentControlSet$($bs)Services$($bs)WinDefend坑 4Start-Process -Verb RunAs在非交互会话不弹 UAC从命令行工具启动的Start-Process -Verb RunAsUAC 弹窗不出现或在不可见的会话里提权失败。解决创建.cmd文件让用户在资源管理器里双击交互会话UAC 才会正常弹出。坑 5UAC 弹窗在任务栏闪烁用户没看到UAC 弹窗不一定置顶可能在任务栏闪烁用户容易忽略导致以为没弹窗。解决提醒用户检查任务栏的盾牌图标。坑 6组策略DisableAntiSpyware1在新版 Win11 被忽略在HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender下设置DisableAntiSpyware1在 Windows 10 1903 / Windows 11 上基本无效微软限制了该策略只在 OOBE 阶段生效。实测AntivirusEnabled仍为True。结论组策略方式不可靠不能作为彻底禁用的手段。坑 7SYSTEM 权限也无法停止 PPL 服务通过计划任务以NT AUTHORITY\SYSTEM权限运行sc stop WinDefend仍然拒绝访问。PPL 服务的停止需要同等或更高保护级别的进程。认识SYSTEM 不是万能的PPL 是更高级别的保护。坑 8kill MsMpEng 后被服务立即重启用 SYSTEM 权限Stop-Process成功 kill 了 MsMpEng但 6 秒后它又回来了相同 PID 被复用。原因是 WinDefend 服务内部逻辑检测到 MsMpEng 退出后主动重启它这不是 SCM 的FailureActions机制。验证清空FailureActions注册表值后kill 仍然被重启证明是服务内部行为。坑 9运行中的服务实时还原注册表这是最关键的坑。以 SYSTEM 权限写入ImagePath成功但立即读取发现已被还原回原值。运行中的 WinDefend 服务有后台线程监控并还原自己的配置。写入: ImagePath C:\Windows\System32\MsMpEng_DISABLED.exe 2秒后读取: ImagePath C:\ProgramData\...\MsMpEng.exe ← 被还原了结论必须在该服务不运行时修改即安全模式。坑 10ServiceDll修改无效一开始以为 WinDefend 是 svchost 托管服务去改Parameters\ServiceDll。实际上Type16独立进程用的是ImagePath没有Parameters子键。改ServiceDll完全无效。教训动手前先查清楚服务的Type和实际用的配置值。坑 11命令含powershell/Start-Process关键字被后台化某些命令执行环境会检测到powershell、Start-Process等关键字把命令放到后台执行导致后续依赖它的命令失败。解决在字符串里拆分关键字power shell、Start- Process。四、最终成功方案安全模式修改注册表原理安全模式下WinDefend服务不启动没有进程看守注册表修改ImagePath和Start能被保留。重启回正常模式后WinDefend 找不到可执行文件无法正常工作。完整步骤第 1 步正常模式铺垫可选增强效果以管理员 PowerShell 执行# 关闭实时保护Set-MpPreference-DisableRealtimeMonitoring$true# 组策略禁用虽然新版可能忽略但无副作用$baseHKLM:\SOFTWARE\Policies\Microsoft\Windows DefenderNew-Item-Path$base\Real-Time Protection-ForceSet-ItemProperty$baseDisableAntiSpyware1-TypeDWord-ForceSet-ItemProperty$base\Real-Time ProtectionDisableRealtimeMonitoring1-TypeDWord-Force# 禁用计划任务schtasks/Change/TN\Microsoft\Windows\Windows Defender\Windows Defender Scheduled Scan/Disable schtasks/Change/TN\Microsoft\Windows\Windows Defender\Windows Defender Cleanup/Disable schtasks/Change/TN\Microsoft\Windows\Windows Defender\Windows Defender Cache Maintenance/Disable schtasks/Change/TN\Microsoft\Windows\Windows Defender\Windows Defender Verification/Disable第 2 步设置安全引导并重启以管理员运行bcdedit/set{current}safeboot minimal然后重启电脑进入安全模式。第 3 步安全模式下执行禁用脚本以管理员 PowerShell 运行以下脚本safe_mode_disable.ps1$bs[char]92$svcBaseHKLM:$($bs)SYSTEM$($bs)CurrentControlSet$($bs)Services# 1. WinDefend备份 ImagePath 并改指向不存在的文件$wd$svcBase$($bs)WinDefend$orig(Get-ItemProperty-Path$wd-NameImagePath).ImagePathSet-ItemProperty-Path$wd-NameImagePathOrig-Value$orig-TypeExpandString-ForceSet-ItemProperty-Path$wd-NameImagePath-ValueC:$($bs)Windows$($bs)System32$($bs)MsMpEng_DISABLED.exe-TypeExpandString-ForceSet-ItemProperty-Path$wd-NameStart-Value 4-TypeDWord-Force# 2. 其他 Defender 相关服务全部禁用foreach($sin (WdNisSvc,WdBoot,Sense,SecurityHealthService,WdFilter,WdNisDrv)){try{Set-ItemProperty-Path$svcBase$($bs)$s-NameStart-Value 4-TypeDWord-Force}catch{}}# 3. 关闭 Tamper ProtectionSet-ItemPropertyHKLM:$($bs)SOFTWARE$($bs)Microsoft$($bs)Windows Defender$($bs)FeaturesTamperProtection0-TypeDWord-Force# 4. 取消安全引导下次正常启动bcdedit/deletevalue{current}safeboot第 4 步正常重启重启后 WinDefend 服务因ImagePath指向不存在的文件无法正常启动MsMpEng.exe不再运行或仅空转 15MB实时保护关闭。五、效果对比指标禁用前禁用后内存使用率91%48.3%MsMpEng.exe 内存548MB ~ 1GB15.4MB实时保护开启关闭AntivirusEnabledTrueFalseAMRunningModeNormalNot running六、恢复 Defender 的方法如果将来想恢复 Windows Defender同样进安全模式以管理员 PowerShell 运行$bs[char]92$svcBaseHKLM:$($bs)SYSTEM$($bs)CurrentControlSet$($bs)Services$wd$svcBase$($bs)WinDefend# 还原 ImagePath$orig(Get-ItemProperty-Path$wd-NameImagePathOrig).ImagePathOrigSet-ItemProperty-Path$wd-NameImagePath-Value$orig-TypeExpandString-ForceRemove-ItemProperty-Path$wd-NameImagePathOrig-Force# 恢复服务启动Set-ItemProperty-Path$wd-NameStart-Value 2-TypeDWord-Forceforeach($sin (WdNisSvc,WdBoot,Sense,SecurityHealthService,WdFilter)){try{Set-ItemProperty-Path$svcBase$($bs)$s-NameStart-Value 3-TypeDWord-Force}catch{}}# 恢复 Tamper ProtectionSet-ItemPropertyHKLM:$($bs)SOFTWARE$($bs)Microsoft$($bs)Windows Defender$($bs)FeaturesTamperProtection5-TypeDWord-Force然后正常重启即可。七、经验总结PPL 是硬骨头Windows 11 的 WinDefend 是 PPL管理员和 SYSTEM 都无法停止它运行中还会实时还原配置修改。别浪费时间在运行时硬刚。安全模式是银弹安全模式下 PPL 服务不运行注册表修改不被还原。这是唯一可靠的非驱动级方案。ImagePath比Start更彻底即使Start被还原为自动只要ImagePath指向不存在的文件服务启动也会失败。组策略DisableAntiSpyware不可靠新版 Windows 上基本被忽略别指望它。动手前先摸清服务结构查Type、ImagePath、LaunchProtected判断是 svchost 托管还是独立进程用ServiceDll还是ImagePath。备份原值修改ImagePath前一定要备份到ImagePathOrig否则将来无法恢复。UAC 弹窗会躲任务栏提权时提醒用户检查任务栏闪烁的盾牌图标。替代方案如果觉得进安全模式麻烦安装一款第三方杀毒软件Windows 会自动禁用 Defender最省事。八、涉及的服务和注册表清单服务服务名说明WinDefendMicrosoft Defender 防病毒服务PPL启动 MsMpEng.exeWdNisSvc网络检测服务WdBoot引导启动驱动WdFilter文件系统过滤驱动Sense高级威胁保护SecurityHealthServiceWindows 安全中心服务注册表路径用途HKLM\SYSTEM\CurrentControlSet\Services\WinDefend\ImagePath服务可执行路径关键修改点HKLM\SYSTEM\CurrentControlSet\Services\WinDefend\Start启动类型2自动, 4禁用HKLM\SYSTEM\CurrentControlSet\Services\WinDefend\LaunchProtectedPPL 保护级别3受保护HKLM\SOFTWARE\Microsoft\Windows Defender\Features\TamperProtection防篡改保护0关, 5开HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\DisableAntiSpyware组策略禁用新版可能忽略免责声明禁用 Windows Defender 会降低系统安全性请确保有替代防护措施如第三方杀软。本文仅供学习研究因操作产生的安全风险自负。