本帖最后由 Love0912 于 2025-12-12 15:34 编辑
系统更新一直是一个非常让人挠头的事情,其实无论论坛还是网上禁用系统更新的小工具一大把,但是我看了很多,都是采取简单禁用的方式来实现的。但是这样就导致了另一个问题,禁用后微软商店等依托软件就不能用了【比如我最近维修了一个ASUS华硕本子就遇到了这个讨厌的麻烦,华硕管家只能通过微软商店下载,但是微软商店又要求必须开启系统更新才能下载,但是开了系统更新又会引发其他不必要的麻烦,非常让人头大】
故而我花费了整整15分钟,编写了这个小程序,核心原理就是通过暂停系统更新来实现系统不更新,又同时不影响其他功能的目的。
我设计的暂停时间是99年。有动手能力的也可以根据需要自己改,值得提一嘴的是,家庭版的比较特殊,你得用家庭版专用板块才能实现。
基本上就是这样了,有需要的自己去下载吧。噢对了,如果各位有想法可以打赏一下【纯施舍,没有额外好处】,我单纯想体验一下被人施舍的感觉
好了,接下来是下载环节:
你可以复制下面的代码自己转换批处理器,也可以选择购买附件直接使用【只卖2CB,旨在防白嫖】
解压码看下图,你要是再问我就不回你了
源代码:
[Asm] 纯文本查看 复制代码 @echo off
setlocal enabledelayedexpansion
:qy
cls
echo.
echo WINDOS系统更新暂停/恢复工具 V1.1
echo ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗
echo.
echo. 本软件使用暂停系统更新的手段来实现停用系统更新,同时保障微软商店等可正常使用的目的。
echo.
echo. 〖1.查看当前系统状态〗 〖2.暂停系统更新〗 〖3.开启系统更新〗
echo 〖4.家庭版专用板块〗 〖5.作者打赏〗
echo. ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┋
echo ┋ ┋ Z.退出程序〖作者:二虎电脑〗
echo.╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝
:input
echo 请您根据需要选择对应的操作!!
echo.
set choice=
set /p choice= 请输入对应的按回车:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto ckzt
if /i "%choice%"=="2" goto gbgx
if /i "%choice%"=="3" goto kqgx
if /i "%choice%"=="4" goto jtbzy
if /i "%choice%"=="5" goto zzds
if /i "%choice%"=="Z" goto end
goto qy
:jtbzy
cls
@echo off
setlocal enabledelayedexpansion
:: 家庭版专用板块入口
echo.
echo WINDOS系统更新暂停/恢复工具家庭版专用板块
echo ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗
echo.
echo. 本软件使用暂停系统更新的手段来实现停用系统更新,同时保障微软商店等可正常使用的目的。
echo.
echo. 〖1.查看当前系统状态〗 〖2.暂停系统更新〗
echo 〖3.开启系统更新〗 〖4.作者打赏〗
echo. ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┋
echo ┋ ┋ Z.退出程序〖作者:二虎电脑〗
echo.╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝
:input1
echo 请您根据需要选择对应的操作!!
echo.
set choice=
set /p choice= 请输入对应的按回车:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
:: 修复标签跳转和输入数字错误
if /i "%choice%"=="1" goto ckzt
if /i "%choice%"=="2" goto gbjtgx
if /i "%choice%"=="3" goto hfjtgx
if /i "%choice%"=="4" goto zzds
if /i "%choice%"=="Z" goto end
:: 增加输入错误提示
echo 输入错误!请输入1-4或Z!& pause & goto input1
:: 家庭版暂停系统更新
:gbjtgx
cls
echo 正在配置家庭版长期暂停更新...
:: 【1.注册表限制】修改UX配置+关闭更新通知(备用)
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t REG_DWORD /d 3650 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 2 /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.Update.UI" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f >nul 2>&1
:: 【2.服务限制】禁用wuauserv服务(彻底阻止启动,删除权限锁死代码)
sc config wuauserv start= disabled >nul 2>&1
net stop wuauserv /y >nul 2>&1
sc config DoSvc start= disabled >nul 2>&1
:: 【3.计划任务限制】禁用所有Windows Update相关任务(补全任务列表)
set "tasks=Microsoft\Windows\WindowsUpdate\Scheduled Start;Microsoft\Windows\WindowsUpdate\Automatic App Update;Microsoft\Windows\WindowsUpdate\UpdateAssistant;Microsoft\Windows\WindowsUpdate\Scheduled Scan;Microsoft\Windows\WindowsUpdate\UpdateAssistantV2;Microsoft\Windows\WindowsUpdate\WUDFRefresh"
for %%t in (%tasks%) do (
schtasks /change /tn "%%t" /disable >nul 2>&1
)
:: 【4.防火墙限制】避免重复添加同名规则
netsh advfirewall firewall show rule name="Block Windows Update (In)" >nul 2>&1 || netsh advfirewall firewall add rule name="Block Windows Update (In)" dir=in action=block service=wuauserv enable=yes >nul 2>&1
netsh advfirewall firewall show rule name="Block Windows Update (Out)" >nul 2>&1 || netsh advfirewall firewall add rule name="Block Windows Update (Out)" dir=out action=block service=wuauserv enable=yes >nul 2>&1
:: 【5.清理更新缓存】避免已下载更新触发安装
rd /s /q "%windir%\SoftwareDistribution\DataStore" >nul 2>&1
rd /s /q "%windir%\SoftwareDistribution\Download" >nul 2>&1
md "%windir%\SoftwareDistribution\DataStore" >nul 2>&1
echo.
echo 配置完成!家庭版已实现超过1年暂停更新,微软商店可正常使用。
echo 注意:若后续系统重大更新后失效,可重新运行本脚本。
pause
goto jtbzy
:: 家庭版恢复系统更新
:hfjtgx
cls
echo 正在恢复家庭版系统更新...
:: 【1.清理限制注册表】
reg delete "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /f >nul 2>&1
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 4 /f >nul 2>&1
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f >nul 2>&1
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.Update.UI" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1
:: 【2.重置服务(含依赖服务)】
sc config wuauserv start= auto >nul 2>&1
sc config bits start= auto >nul 2>&1
sc config cryptsvc start= auto >nul 2>&1
net stop wuauserv /y >nul 2>&1
net stop bits /y >nul 2>&1
net stop cryptsvc /y >nul 2>&1
timeout /t 2 /nobreak >nul
net start cryptsvc >nul 2>&1
net start bits >nul 2>&1
net start wuauserv >nul 2>&1
:: 【3.启用所有更新相关计划任务】
set "tasks=Microsoft\Windows\WindowsUpdate\Scheduled Start;Microsoft\Windows\WindowsUpdate\Automatic App Update;Microsoft\Windows\WindowsUpdate\UpdateAssistant;Microsoft\Windows\WindowsUpdate\Scheduled Scan;Microsoft\Windows\WindowsUpdate\UpdateAssistantV2;Microsoft\Windows\WindowsUpdate\WUDFRefresh"
for %%t in (%tasks%) do (
schtasks /change /tn "%%t" /enable >nul 2>&1
)
:: 【4.删除防火墙规则】
netsh advfirewall firewall delete rule name="Block Windows Update (In)" >nul 2>&1
netsh advfirewall firewall delete rule name="Block Windows Update (Out)" >nul 2>&1
:: 【5.清除缓存并触发更新扫描】
rd /s /q "%windir%\SoftwareDistribution\DataStore" >nul 2>&1
rd /s /q "%windir%\SoftwareDistribution\Download" >nul 2>&1
md "%windir%\SoftwareDistribution\DataStore" >nul 2>&1
%windir%\system32\usoclient.exe StartScan >nul 2>&1
echo.
echo 恢复完成!系统将重新接收更新,建议重启后生效。
pause
goto jtbzy
:ckzt
cls
:: ============== 第一步:管理员权限检测(稳定版) ==============
:: 用fsutil替代openfiles,兼容性更高
fsutil dirty query %systemdrive% >nul 2>&1 || (
echo 错误:请以管理员身份运行本脚本!
pause
goto qy
)
:: ============== 第二步:查询服务状态(拆分命令,避免嵌套) ==============
echo 服务状态:
sc query wuauserv | find /i "RUNNING" >nul 2>&1
if %errorlevel% equ 0 (
echo 开启状态
) else (
echo 停用状态
)
echo.
:: ============== 第三步:查询已安装更新(用PowerShell替代WMIC,Win11原生支持) ==============
echo 最近更新:
powershell -Command "$updates = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\*' | Select-Object -First 10 HotFixID; if ($updates) { $updates | Format-Table -AutoSize } else { Write-Host '暂无已安装的更新' }" 2>nul
echo.
:: ============== 第四步:查询待处理更新(先检测注册表路径是否存在) ==============
echo 待处理更新:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" >nul 2>&1
if %errorlevel% equ 0 (
:: 读取键值数值并判断是否为0
for /f "tokens=3" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v UxFreezeSeconds 2^>nul') do (
set "uxfreeze=%%a"
)
if defined uxfreeze (
if !uxfreeze! equ 0 (
echo 无待处理更新
) else (
echo 存在待处理更新
)
) else (
echo 无待处理更新
)
) else (
echo 无待处理更新
)
:: ============== 第五步:提示返回 ==============
echo.
echo 更新状态的情况就是这样啦,摁任意键返回主菜单继续其它操作吧!!
pause
goto qy
:gbgx
cls
:: 请求管理员权限
fltmc >nul 2>&1 || (
echo 请求管理员权限...
start "" /wait %~dpnx0 %*
exit /b
)
::本脚本默认暂停自动更新为36189天(99年)。如果有需要可以自行修改这个数值,即将下面这一条码中末尾的36189进行修改即可。
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t REG_DWORD /d 36189 /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseFeatureUpdatesStartTime /t REG_SZ /d "2023-07-07T10:00:52Z" /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseFeatureUpdatesEndTime /t REG_SZ /d "2124-12-12T09:59:52Z" /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseQualityUpdatesStartTime /t REG_SZ /d "2023-07-07T10:00:52Z" /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseQualityUpdatesEndTime /t REG_SZ /d "2124-12-12T09:59:52Z" /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseUpdatesStartTime /t REG_SZ /d "2023-07-07T09:59:52Z" /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v PauseUpdatesExpiryTime /t REG_SZ /d "2124-12-12T09:59:52Z" /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f
:: 企业版延迟更新(功能更新延迟365天,质量更新延迟30天)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v BranchReadinessLevel /t REG_DWORD /d 16 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferFeatureUpdates /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferQualityUpdates /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferFeatureUpdatesPeriodInDays /t REG_DWORD /d 36189 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferQualityUpdatesPeriodInDays /t REG_DWORD /d 36189 /f
:: 暂停Windows Update的驱动更新(Win10/11通用)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata" /v PreventDeviceMetadataFromNetwork /t REG_DWORD /d 1 /f
echo 自动更新暂停成功,摁任意键返回主菜单
pause
goto qy
:zzds
cls
start "" "https://pan.baidu.com/s/1os8bVQF6_4Zyc7poeXQchA?pwd=xts3"
echo.
echo 摁任意键系统将返回主界面!
goto qy
:end
exit /b 0
:kqgx
cls
:: 智能提权
fltmc >nul||mshta vbscript:Execute("CreateObject(""Shell.Application"").ShellExecute""%~f0"""):close
:: 关键注册表清理
for %%k in (
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|FlightSettingsMaxPauseDays"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseFeatureUpdatesStartTime"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseFeatureUpdatesEndTime"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseQualityUpdatesStartTime"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseQualityUpdatesEndTime"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseUpdatesStartTime"
"HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings|PauseUpdatesExpiryTime"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|BranchReadinessLevel"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|DeferFeatureUpdates"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|DeferQualityUpdates"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|DeferFeatureUpdatesPeriodInDays"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|DeferQualityUpdatesPeriodInDays"
"HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate|ExcludeWUDriversInQualityUpdate"
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata|PreventDeviceMetadataFromNetwork"
) do for /f "tokens=1-2 delims=|" %%a in (%%k) do (
reg delete "%%a" /v "%%b" /f >nul 2>&1||reg delete "%%a" /v "%%b" /f /reg:64 >nul
)
:: 服务快速重置(改回系统默认的自动启动)
(sc config wuauserv start= auto >nul & net stop wuauserv >nul) && (timeout 2 >nul & net start wuauserv >nul)
:: 缓存强制清除
2>nul (takeown /f "%windir%\SoftwareDistribution\DataStore\*" /r & rd /s/q "%windir%\SoftwareDistribution\DataStore" & md "%windir%\SoftwareDistribution\DataStore")
:: 双引擎更新触发
%windir%\system32\usoclient.exe StartScan 2>nul||%windir%\system32\UsoClient.exe RefreshSettings 2>nul
echo 更新状态已恢复默认值,建议重启使其完全生效,摁任意键将返回主菜单 & pause
goto qy
|