彻底掌控Windows更新:一劳永逸的关闭与恢复方案
1. 概述:Windows自动更新的困扰与终极解决方案
Windows自动更新长期以来都是用户又爱又恨的功能。一方面,它确保系统能够及时获得安全补丁和功能改进;另一方面,强制性的更新经常在不合适的时机打断用户工作,占用系统资源,甚至有时会引入新的问题。对于企业环境、特殊用途设备或需要长期稳定运行的系统来说,不受控制的自动更新可能带来严重问题。
传统解决Windows自动更新的方法往往存在以下局限:
- 简单的服务停止容易被系统自动恢复
- 单一条注册表修改不够全面,会被微软后续更新绕过
- 使用第三方工具存在安全风险,特别是在企业环境中
- 大多数方案只针对特定Windows版本,缺乏通用性
要想稳定长久关闭Windows更新,仅用一条注册表,应对之后微软做出的相关调整,这显然不大充分。以及基于企业环境的原因,自己基本上尽量少用激活工具,以及其他不透明的工具,故本文将介绍一套全面、持久、安全的Windows更新控制方案,通过精心设计的批处理脚本,实现:
- 彻底禁用Windows自动更新机制
- 兼容Windows 7/8/10/11等多个版本
- 无需依赖第三方工具,纯系统原生功能实现
- 可逆操作,随时恢复更新功能
- 企业级解决方案,适合各种环境部署
2. 功能详解:深入解析Windows更新控制机制
核心技术原理
这套解决方案通过多层次的系统配置修改,从根源上阻断Windows更新机制:
- 组策略设置:通过注册表模拟本地组策略配置
- 服务控制:禁用关键更新相关服务
- 网络重定向:将更新服务器指向本地无效地址
- 权限限制:阻止非管理员操作更新设置
- 版本升级拦截:特别阻止Windows大版本自动升级
3. 核心脚本解析
停止更新脚本 (stop_update.bat
)
:: 暂停升级 enabled Value 0 = Disabled, 1 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "PauseDeferrals" /t REG_DWORD /d "0x1" /f
:: 配置自动更新 Value 1= Disabled, 0 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d "0x1" /f
:: 更新编排器服务,关闭
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" /t REG_DWORD /d 4 /f
:: 指定无效更新服务器
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /t REG_SZ /d "http://127.0.0.1" /f
恢复更新脚本 (re_update.bat
)
:: 恢复更新编排器服务
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" /t REG_DWORD /d 2 /f
:: 删除无效服务器配置
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /f
:: 恢复自动更新设置
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /f
4. 兼容性说明
该方案经过严格测试,支持:
- Windows 7/8/8.1/10/11全系列
- 32位和64位系统
- 家庭版、专业版、企业版等各版本
- 物理机和虚拟机环境
5.使用指南:一步步掌控Windows更新
基础使用方法
管理员权限运行:
- 右键脚本,选择 “以管理员身份运行”
- 或通过命令行:
- 右键开始菜单 > Windows终端(管理员)
- 然后执行脚本,运行stop_update.bat后,出现“某些设置由你的组织来管理”红字,以及红色星号标识“
你的组织已关闭更新
”。此状态下重启后是能完成最后一波更新。
重启生效:
- 部分设置需要重启计算机才能完全生效
6.高级应用场景
企业批量部署
通过组策略分发脚本:
\\domain.com\NETLOGON\stop_update.bat
使用PDQ Deploy等工具远程执行 集成到系统镜像中
定时任务控制
创建计划任务,在特定时间段禁用/启用更新:
# 创建每天工作时间禁用更新的任务
schtasks /create /tn "Disable Updates Work Hours" /tr "C:\path\to\stop_update.bat" /sc daily /st 09:00 /ru SYSTEM
# 创建非工作时间恢复更新的任务
schtasks /create /tn "Enable Updates Off Hours" /tr "C:\path\to\re_update.bat" /sc daily /st 20:00 /ru SYSTEM
与WSUS集成
对于企业WSUS环境,可以修改脚本中的服务器地址:
cmd复制编辑:: 修改为您的WSUS服务器地址
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /t REG_SZ /d "http://your-wsus-server" /f
7.技术深度:Windows更新机制全解析
Windows更新核心组件
组件 | 作用 | 解决方案 |
---|---|---|
Windows Update服务 (wuauserv) | 负责检查、下载和安装更新 | 关闭服务 |
更新编排器服务 (UsoSvc) | Windows 10+新增服务,协调更新过程 | 设置Start=4禁用 |
WAAS Medic服务 | 更新健康监测,自动修复更新问题 | 禁用以防止系统自动恢复更新 |
USO客户端 (USOClient) | 后台进程,执行实际更新操作 | 通过组策略设置限制其运行 |
注册表关键项详解
注册表路径 | 键值 | 功能 | 推荐设置 |
---|---|---|---|
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate | PauseDeferrals | 暂停更新 | 1 |
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU | NoAutoUpdate | 禁用自动更新 | 1 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc | Start | 服务启动类型 | 4 |
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate | WUServer | 更新服务器地址 | 127.0.0.1 |
8.运行效果
9. 相关源码
停止更新脚本 (stop_update.bat
)
:: 提前注释保留项
:: https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.WindowsUpdate::AutoUpdateCfg&Language=zh-cn
@rem https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-update#update-enableautomaticupgrades
@REM https://www.howtogeek.com/799392/what-is-waasmedic-agent-exe-how-to-fix-high-disk-usage/
@REM https://www.majorgeeks.com/content/page/what_is_the_update_orchestrator_service.html
@REM https://answers.microsoft.com/en-us/windows/forum/all/windows-7-8-81-registry-edits-to-prevent-windows/4cbd4842-d11f-4579-a8de-18576aad2597
@REM https://greatis.com/stopupdates10/
@REM 暂停更新3000
@REM reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 3000 /f
@REM 此计算机的目标组名称
@REM reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "TargetGroup" /t REG_SZ /d "YourTargetGroup" /f
@REM 该服务使用这些信息来确定在此计算机上应该部署哪些更新。Enabled Value 0 = Disabled, 1 = Enabled
@REM reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "TargetGroupEnabled" /t REG_DWORD /d "0x0" /f
:: -------指定 Intranet Microsoft 更新服务位置--------
@REM 此设置允许你在网络上指定一台服务器执行内部更新服务。自动更新客户端将搜索此服务,找到适用于网络上计算机的更新。
@REM Value 0 = Disabled, 1 = Enabled
@REM reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "UseWUServer" /t REG_DWORD /d "0x1" /f
@REM 指定 Intranet Microsoft 网址
@REM reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /t REG_SZ /d "http://127.0.0.1" /f
@REM 设置 Intranet 统计服务器
@REM reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUStatusServer" /t REG_SZ /d "http://127.0.0.1" /f
:: -------------------------------------------------
@REM 该服务主要用于检查 Windows 更新的健康状况,以确保系统能够及时接收到最新的安全和功能更新。,并将其值设置为 4 (禁止运行该服务)。
@REM REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaasMedic" /v "Start" /t REG_DWORD /d 4 /f
:: 提前注释保留项
:: 彻底关闭Windows更新
@REM 临时停止 Windows Update 服务
net stop wuauserv
@REM 暂停升级 enabled Value 0 = Disabled, 1 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "PauseDeferrals" /t REG_DWORD /d "0x1" /f
@REM 允许非管理员接收更新通知 Enabled Value 0 = Disabled, 1 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "ElevateNonAdmins" /t REG_DWORD /d "0x1" /f
@REM 此设置允许你在网络上指定一台服务器执行内部更新服务。自动更新客户端将搜索此服务,找到适用于网络上计算机的更新。
@REM Value 0 = Disabled, 1 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "UseWUServer" /t REG_DWORD /d "0x1" /f
@REM 指定 Intranet Microsoft 网址
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /t REG_SZ /d "http://127.0.0.1" /f
@REM 设置 Intranet 统计服务器
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUStatusServer" /t REG_SZ /d "http://127.0.0.1" /f
@REM 如果启用此策略设置,则会阻止用户连接到 Windows 更新网站。 Value 1 = Enabled, 0 = Disabled
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "NoWindowsUpdate" /t REG_DWORD /d "0x1" /f
@REM 配置自动更新 Value 1= Disabled, 0 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d "0x1" /f
@REM 允许自动更新立即安装 Value 1 = Enabled,0 = Disabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "AutoInstallMinorUpdates" /t REG_DWORD /d "0x1" /f
@REM 自动更新频率 Value 0 = Disabled, 1 = Enabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "DetectionFrequencyEnabled" /t REG_DWORD /d "0x0" /f
@REM 重新计划自动更新计划的安装 Value 1 = Enabled,0 = Disabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "RescheduleWaitTimeEnabled" /t REG_DWORD /d "0x0" /f
@REM 删除使用所有 Windows 更新功能的访问权限 Value 1 = Enabled,0 = Disabled
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v "DisableWindowsUpdateAccess" /t REG_DWORD /d "0x1" /f
@REM 关闭对所有 Windows 更新功能的访问 Value 1 = Enabled,0 = Disabled
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "RescheduleWaitTimeEnabled" /t REG_DWORD /d "0x1" /f
@REM 阻止运行 Windows Anytime Upgrade(Windows版本升级) Value 1 = Enabled,0 = Disabled
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\WAU" /v "Disabled" /t REG_DWORD /d "0x1" /f
@REM 允许或禁止 Microsoft Store 向最新版本的 Windows 提供更新。 Value 1 = Enabled, 0 = Disabled
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "DisableOSUpgrade" /t REG_DWORD /d 1 /f
@REM ------ Windows更新健康医生服务与更新编排器服务
@REM "Start" 值包括 0(启动失败)、1(系统启动时自动启动)、2(手动启动)和 3(禁用),而 4 表示服务不会被启动,如果服务已经在运行,则会被停止。
@REM 该服务主要用于检查 Windows 更新的健康状况,以确保系统能够及时接收到最新的安全和功能更新,并将其值设置为 4 (禁止运行该服务)。
@REM 更新编排器服务,关闭
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v "Start" /t REG_DWORD /d 4 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" /t REG_DWORD /d 4 /f
@REM ------ Windows更新健康医生服务与更新编排器服务
@REM ---- win7 升级提示通杀
@REM 关闭《获取Windows10》升级通知 https://www.jb51.net/os/windows/418707.html
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade" /v "ReservationsAllowed" /t REG_DWORD /d 0 /f
@REM https://serverfault.com/questions/695916/registry-key-gpo-to-disable-and-block-windows-10-upgrade
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx" /v "DisableGwx" /t REG_DWORD /d 1 /f
@REM Windows 7禁用“ PC不支持”弹出窗口 https://blog.youkuaiyun.com/allway2/article/details/103905502
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\EOSNotify" /v "DiscontinueEOS" /t REG_DWORD /d 1 /f
@REM ---- win7 升级提示通杀
@REM 启动 Windows Update 服务
net start wuauserv
:: 彻底关闭Windows更新
pause
恢复更新脚本 (re_update.bat
)
:: 提前注释保留项
:: https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.WindowsUpdate::AutoUpdateCfg&Language=zh-cn
@REM https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-update#update-enableautomaticupgrades
@REM https://www.howtogeek.com/799392/what-is-waasmedic-agent-exe-how-to-fix-high-disk-usage/
@REM https://www.majorgeeks.com/content/page/what_is_the_update_orchestrator_service.html
@REM https://answers.microsoft.com/en-us/windows/forum/all/windows-7-8-81-registry-edits-to-prevent-windows/4cbd4842-d11f-4579-a8de-18576aad2597
@REM https://greatis.com/stopupdates10/
@REM 暂停更新3000
@REM reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /f
@REM 此计算机的目标组名称
@REM reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "TargetGroup" /f
@REM 该服务使用这些信息来确定在此计算机上应该部署哪些更新。Enabled Value 0 = Disabled, 1 = Enabled
@REM reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "TargetGroupEnabled" /f
:: -------指定 Intranet Microsoft 更新服务位置--------
@REM 此设置允许你在网络上指定一台服务器执行内部更新服务。自动更新客户端将搜索此服务,找到适用于网络上计算机的更新。
@REM Value 0 = Disabled, 1 = Enabled
@REM reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "UseWUServer" /f
@REM 指定 Intranet Microsoft 网址
@REM reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /f
@REM 设置 Intranet 统计服务器
@REM reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUStatusServer" /f
:: -------------------------------------------------
@REM 该服务主要用于检查 Windows 更新的健康状况,以确保系统能够及时接收到最新的安全和功能更新。,并将其值设置为 4 (禁止运行该服务)。
@REM REG delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaasMedic" /v "Start" /f
:: 提前注释保留项
:: 彻底关闭Windows更新
@REM 临时停止 Windows Update 服务
net stop wuauserv
@REM ------ Windows更新健康医生服务与更新编排器服务 -------------
@REM "Start" 值包括 0(启动失败)、1(系统启动时自动启动)、2(手动启动)和 3(禁用),而 4 表示服务不会被启动,如果服务已经在运行,则会被停止。
@REM 该服务主要用于检查 Windows 更新的健康状况,以确保系统能够及时接收到最新的安全和功能更新。,并将其值设置为 4 (禁止运行该服务)。
@REM 更新编排器服务,关闭
REG delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v "Start" /f
REG delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" /f
@REM https://superuser.com/questions/1584410/windows-10-update-something-went-wrong-try-to-reopen-settings-later
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" /t REG_DWORD /d 2 /f
@REM ------ Windows更新健康医生服务与更新编排器服务 -------------
@REM ---- win7 升级提示通杀 --------
@REM 关闭《获取Windows10》升级通知 https://www.jb51.net/os/windows/418707.html
REG delete "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade" /v "ReservationsAllowed" /f
@REM https://serverfault.com/questions/695916/registry-key-gpo-to-disable-and-block-windows-10-upgrade
REG delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx" /v "DisableGwx" /f
@REM Windows 7禁用“ PC不支持”弹出窗口 https://blog.youkuaiyun.com/allway2/article/details/103905502
REG delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\EOSNotify" /v "DiscontinueEOS" /f
@REM ---- win7 升级提示通杀 ---------
@REM ------ 其他细节 -------------
@REM 暂停升级 enabled Value 0 = Disabled, 1 = Enabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "PauseDeferrals" /f
@REM 允许非管理员接收更新通知 Enabled Value 0 = Disabled, 1 = Enabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "ElevateNonAdmins" /f
@REM 此设置允许你在网络上指定一台服务器执行内部更新服务。自动更新客户端将搜索此服务,找到适用于网络上计算机的更新。
@REM Value 0 = Disabled, 1 = Enabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "UseWUServer" /f
@REM 指定 Intranet Microsoft 网址
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /f
@REM 设置 Intranet 统计服务器
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUStatusServer" /f
@REM 如果启用此策略设置,则会阻止用户连接到 Windows 更新网站。 Value 1 = Enabled, 0 = Disabled
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "NoWindowsUpdate" /f
@REM 配置自动更新 Value 1= Disabled, 0 = Enabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /f
@REM 允许自动更新立即安装 Value 1 = Enabled,0 = Disabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "AutoInstallMinorUpdates" /f
@REM 自动更新频率 Value 0 = Disabled, 1 = Enabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "DetectionFrequencyEnabled" /f
@REM 删除使用所有 Windows 更新功能的访问权限 Value 1 = Enabled,0 = Disabled
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v "DisableWindowsUpdateAccess" /f
@REM 关闭对所有 Windows 更新功能的访问 Value 1 = Enabled,0 = Disabled
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "RescheduleWaitTimeEnabled" /f
@REM 阻止运行 Windows Anytime Upgrade(Windows版本升级) Value 1 = Enabled,0 = Disabled
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\WAU" /v "Disabled" /f
@REM 允许或禁止 Microsoft Store 向最新版本的 Windows 提供更新。 Value 1 = Enabled, 0 = Disabled
REG delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "DisableOSUpgrade" /f
@REM ------ 其他细节 -------------
@REM 启动 Windows Update 服务
net start wuauserv
pause
10.总结:全面掌控Windows更新
本方案的优势:
- 全面性:从多个层面阻断更新机制,不留死角
- 持久性:抵抗系统自动恢复和微软更新绕过尝试
- 安全性:纯脚本实现,无需担心第三方工具风险
- 灵活性:随时可以恢复更新功能
- 兼容性:支持广泛Windows版本和环境
通过这套方案,您将获得对Windows更新机制的完全掌控权,在确保系统安全的同时,避免不受欢迎的更新干扰。