Update Guard · 更新守卫
管理 Windows 更新与 Microsoft Store 应用自动更新,支持 Windows 10 / 11。
两种形态:一个 PowerShell 脚本(推荐),以及一个独立的 GUI 程序(Win11 风格,零依赖)。
两种形态
|
脚本版 ✅ 推荐 |
界面版 |
| 文件 |
tools/Disable-WindowsUpdate.ps1 |
dist/UpdateGuard.exe(Releases) |
| 体积 |
38 KB 纯文本 |
~125 KB 单文件 |
| 依赖 |
Windows PowerShell 5.1 |
.NET Framework 4.8(Win10/11 自带) |
| 提权 |
启动时自己请求 UAC |
点按钮时自己请求 UAC |
它改了什么
| 位置 |
内容 |
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate |
WUServer/WUStatusServer=http://127.0.0.1:8530(一个不存在的地址),DoNotConnectToWindowsUpdateInternetLocations= 1 |
...\WindowsUpdate\AU |
NoAutoUpdate= 1,UseWUServer= 1 |
HKLM\SOFTWARE\Policies\Microsoft\WindowsStore |
AutoDownload= 2(关闭 Store 应用自动更新) |
| 服务 |
wuauserv、usosvc、dosvc、WaaSMedicSvc、bits→ 设为禁用并停止 |
| 计划任务 |
\Microsoft\Windows\{UpdateOrchestrator, WaaSMedic, WindowsUpdate, InstallService}\下全部禁用 |
受保护的任务会拒绝任务计划程序的 API,所以改为直接改写任务 XML(只动Settings/Enabled),
之后通过临时给管理员补上Schedule服务的SERVICE_STOP权限来重载(用完立刻还原)。
恢复时每一步反向执行:按基线还原服务、删除策略、用备份还原任务,最后gpupdate /force。
功能
- 禁用 / 恢复 Windows 更新(策略 + 5 个服务 + 4 个目录下的全部任务)
- 开关 Microsoft Store 应用自动更新
- 实时状态:服务启动类型直接问 SCM(
sc qc),注册表键被锁也不会读错
- 进度条;逐行过程默认折叠,出错才自动展开(
-Detail可强制展开)
- 可完整恢复:改动前会备份任务 XML 和原始服务启动类型
使用
脚本版(推荐)
# 交互菜单(最简单的用法:右键 -> 使用 PowerShell 运行)
powershell -NoProfile -ExecutionPolicy Bypass -File .\tools\Disable-WindowsUpdate.ps1
# 非交互
... -File .\tools\Disable-WindowsUpdate.ps1 -Auto disable
... -File .\tools\Disable-WindowsUpdate.ps1 -Auto restore
... -File .\tools\Disable-WindowsUpdate.ps1 -Auto status # 不需要提权
# 看每一步的逐行输出,而不只是进度条
... -File .\tools\Disable-WindowsUpdate.ps1 -Auto disable -Detail
Copy code to clipboard
脚本文件必须保持UTF-8 with BOM。PowerShell 5.1 会把无 BOM 的文件按 ANSI 读,
中文会变成乱码并直接报语法错误。
原址:https://github.com/Perlica-zmd/UpdateGuard
分流下载:
UpdateGuard 更新守卫 v2.0.0.zip https://drs.lanzouc.com/iJeo74dg6hna 密码:gpa0
|