首页
/ 超强Windows Defender一键卸载:Script_Run.bat核心功能全解析

超强Windows Defender一键卸载:Script_Run.bat核心功能全解析

2026-02-05 04:14:41作者:齐冠琰

你是否还在为Windows Defender后台占用资源而烦恼?尝试过手动禁用却频繁失效?本文将彻底剖析windows-defender-remover项目中Script_Run.bat的工作原理,带你掌握一键卸载Windows Defender的终极方案。读完本文你将获得:

  • 三种模式的精准操作指南
  • 底层注册表修改与文件清理逻辑
  • 风险控制与系统恢复预案
  • 常见问题的技术解决方案

一、脚本架构总览:模块化设计解析

Script_Run.bat采用三段式架构设计,通过参数解析、用户交互和功能执行三大模块实现完整的防御者移除流程。其核心版本控制机制确保兼容性,当前默认版本为12.8.4

1.1 基础环境配置

@set defenderremoverver=12.8.4
@setlocal DisableDelayedExpansion
@echo off
pushd "%CD%"
CD /D "%~dp0"
  • 版本控制:通过defenderremoverver变量统一管理版本信息
  • 环境隔离setlocal DisableDelayedExpansion防止变量扩展冲突
  • 路径规范化CD /D "%~dp0"确保脚本在自身目录执行,避免相对路径错误

1.2 参数解析机制

支持4种启动参数,实现无交互直接执行特定功能:

参数 对应功能 适用场景
y/Y 完全移除Defender及组件 自动化部署环境
a/A 仅移除Defender保留UAC 开发测试环境
s/S 仅禁用安全缓解措施 性能优化场景

参数检测逻辑采用短路判断设计,优先匹配第一个有效参数:

IF "%1"== "y" GOTO :removedef
IF "%1"== "Y" GOTO :removedef
IF "%1"== "a" GOTO :removeantivirus
...

二、用户交互系统:菜单驱动设计

交互界面采用清晰的层级结构,通过精心设计的提示文本引导用户决策,同时提供关键风险预警。

2.1 菜单系统实现

echo ------ Defender Remover Script , version %defenderremoverver% ------
echo Select an option:
echo.
echo [Y] Remove Windows Defender Antivirus + Disable All Security Mitigations
echo [A] Remove Windows Defender only, but keep UAC Enabled
echo [S] Disable All Security Mitigations
choice /C:yas /N
  • 视觉分隔:使用cls清屏和echo.空行构建清晰的视觉层次
  • 风险提示:明确告知"操作后需要重启"、"建议创建系统还原点"等关键信息
  • 输入控制:通过choice /C:yas /N限制输入范围,避免无效操作

2.2 选择分支逻辑

采用跳转标签设计实现功能分流,三个主要功能分支对应不同的清理策略:

if errorlevel==3 goto disablemitigations
if errorlevel==2 goto removeantivirus
if errorlevel==1 goto removedef

⚠️ 注意:errorlevel判断采用倒序匹配,数值越大的选项需要先判断

三、核心功能模块深度解析

3.1 完全移除模式(Y选项)

该模式执行最彻底的清理流程,分为六个关键步骤:

3.1.1 禁用Hyper-V

bcdedit /set hypervisorlaunchtype off

通过修改启动配置数据存储(BCD),禁用Hyper-V虚拟机监控程序,防止Defender核心服务通过虚拟化技术保护自身进程。

3.1.2 UWP应用移除

Powershell -noprofile -executionpolicy bypass -file "%~dp0\RemoveSecHealthApp.ps1"

调用PowerShell脚本移除Windows安全中心UWP应用,绕过执行策略限制(-executionpolicy bypass)确保脚本执行权限。

3.1.3 注册表清理引擎

FOR /R %%f IN (Remove_defender\*.reg) DO PowerRun.exe regedit.exe /s "%%f"
FOR /R %%f IN (Remove_defender\*.reg) DO regedit.exe /s "%%f"
FOR /R %%f IN (Remove_SecurityComp\*.reg) DO PowerRun.exe regedit.exe /s "%%f"
  • 双重执行机制:先通过PowerRun.exe提权执行,再常规执行确保注册表修改生效
  • 递归处理FOR /R遍历所有子目录下的.reg文件,典型注册表项包括:
    • DisableAntivirusProtection.reg:关闭实时防护
    • RemoveDefenderTasks.reg:删除计划任务
    • RemoveServices.reg:禁用相关服务

3.1.4 文件系统清理(第一阶段)

针对Defender核心文件实施精准删除,涉及驱动程序、可执行文件和系统组件:

for %%d in (
  "C:\Windows\System32\SecurityHealthSystray.exe"
  "C:\Windows\System32\drivers\WdFilter.sys"
  "C:\Windows\System32\smartscreen.dll"
  ...
) DO PowerRun cmd.exe /c del /f "%%d"

清理目标分为三类关键文件:

  1. 驱动文件WdFilter.sysSgrmAgent.sys等内核驱动
  2. 执行文件smartscreen.exeSecurityHealthService.exe等用户态程序
  3. 动态链接库wscsvc.dllsmartscreenps.dll等支撑组件

3.1.5 目录清理(第二阶段)

for %%d in (
  "C:\Windows\WinSxS\amd64_security-octagon*"
  "C:\ProgramData\Microsoft\Windows Defender"
  "C:\Windows\SystemApps\Microsoft.Windows.AppRep.ChxApp_cw5n1h2txyewy"
  ...
) do PowerRun cmd.exe /c rmdir "%%~d" /s /q

采用通配符匹配删除整个目录树,重点清理:

  • WinSxS组件存储中的Defender相关文件
  • 程序数据目录中的Defender配置和日志
  • UWP应用目录及相关服务文件

3.1.6 自动重启机制

echo Your PC will reboot in 10 seconds..
timeout 3
shutdown /r /f /t 10
  • shutdown /r:重启系统
  • /f:强制关闭所有应用程序
  • /t 10:10秒后执行重启

3.2 部分移除模式(A选项)

该模式保留用户账户控制(UAC)功能,主要差异在于注册表清理范围:

:: 仅执行Defender相关注册表清理
FOR /R %%f IN (Remove_defender\*.reg) DO PowerRun.exe regedit.exe /s "%%f"
FOR /R %%f IN (Remove_defender\*.reg) DO regedit.exe /s "%%f"
:: 不执行Remove_SecurityComp目录下的UAC相关注册表

文件清理列表与完全模式相同,但不修改UAC相关注册表项,适合需要基本安全控制的场景。

3.3 安全缓解措施禁用(S选项)

专注于性能优化,仅禁用系统安全缓解措施:

:disablemitigations
CLS
bcdedit /set hypervisorlaunchtype off
CLS
echo Disabling Security Mitigations...
FOR /R %%f IN (Remove_SecurityComp\*.reg) DO PowerRun.exe regedit.exe /s "%%f"
CLS
echo Your PC will reboot in 10 seconds..
timeout 3
shutdown /r /f /t 10
exit

主要修改与内存保护、代码执行防护相关的系统设置,包括:

  • 数据执行保护(DEP)调整
  • 控制流防护(CFG)禁用
  • 内存完整性保护关闭

四、文件系统与注册表操作原理

4.1 PowerRun.exe特权提升机制

PowerRun.exe是实现高权限操作的核心工具,通过它执行的关键操作包括:

PowerRun cmd.exe /c del /f "%%d"
PowerRun cmd.exe /c rmdir "%%~d" /s /q

其工作原理类似于psexecrunas,但提供更直接的系统权限提升,绕过UAC限制直接获取管理员权限。

4.2 注册表修改策略

项目采用模块化注册表文件设计,位于以下目录:

Remove_defender/
├── DisableAntivirusProtection.reg
├── DisableDefenderPolicies.reg
├── RemoveDefenderTasks.reg
└── ...(共14个文件)

Remove_SecurityComp/
└── Remove_SecurityComp.reg

典型注册表修改包括:

  1. 服务禁用
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend]
"Start"=dword:00000004
  1. 组策略锁定
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001
  1. 任务计划删除
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Windows Defender]

五、风险控制与系统恢复

5.1 操作风险评估

风险类型 严重程度 缓解措施
系统更新恢复Defender 定期执行脚本或禁用Windows Update
程序兼容性问题 创建系统还原点
安全软件安装冲突 仅在必要环境使用
数据恢复困难 执行前备份关键数据

5.2 恢复方案

  1. 系统还原

    rstrui.exe  :: 启动系统还原向导
    
  2. 手动恢复注册表

    reg restore HKLM\SYSTEM\CurrentControlSet\Services "C:\Windows\System32\config\SYSTEM.bak"
    
  3. 重新启用Defender

    sc config WinDefend start= auto
    net start WinDefend
    

六、高级应用与自动化部署

6.1 无人值守部署

通过命令行参数实现自动化操作:

:: 静默完全移除
Script_Run.bat y

:: 仅移除Defender核心组件
Script_Run.bat a

6.2 日志记录增强

修改脚本添加操作日志功能:

:: 在文件开头添加
set logfile="%~dp0\defender_removal_%date:~0,4%%date:~5,2%%date:~8,2%.log"
echo [%time%] Script started >> %logfile%

:: 在关键操作后添加日志
echo [%time%] Removed registry files >> %logfile%

6.3 自定义清理列表

扩展文件清理范围,添加自定义路径:

:: 在文件删除部分添加
for %%d in (
  ...
  "C:\Your\Custom\Path\to\defender\related\files"
) DO PowerRun cmd.exe /c del /f "%%d"

七、常见问题解决方案

7.1 操作后系统无限重启

原因:关键系统文件误删或权限问题
解决

  1. 进入安全模式(F8或Shift+重启)
  2. 执行系统还原
  3. 检查C:\Windows\System32\drivers\目录完整性

7.2 脚本执行无反应

排查步骤

  1. 确认以管理员身份运行
  2. 检查PowerRun.exe是否存在
  3. 临时关闭其他安全软件
  4. 执行cmd /k Script_Run.bat查看错误输出

7.3 Windows更新后Defender复活

预防措施

:: 禁用Windows Defender相关更新
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971f918-a847-4430-9279-4a52d1efe18d" /v "Enabled" /t REG_DWORD /d 0 /f

八、总结与展望

Script_Run.bat通过精心设计的批处理逻辑,实现了对Windows Defender的深度清理。其核心价值在于:

  1. 权限突破:通过PowerRun实现系统级权限操作
  2. 全面覆盖:注册表、文件系统、服务多维度清理
  3. 灵活控制:三种模式满足不同场景需求

未来版本可能增强的方向:

  • 实时防护状态检测
  • 系统更新防护机制
  • 更精细的组件选择移除
登录后查看全文
热门项目推荐
相关项目推荐