让Windows系统暂停自动更新至2050年

因为之前更新新版本用新功能忘记关闭自动更新,今天电脑一开机微软又推送了一个更新补丁,一开机电脑风扇转速直接拉满,一怒之下怒了一下(划掉),顺手就写了一个禁用自动更新的bat脚本

不废话,直接上传github开源(似乎开不开源也没什么意义),上链接:

GitHub主页

GitHub下载页

bat脚本本体仅仅3.08KB,有GitHub账号的盒友可以顺手点个右上角的Star

考虑到前段时间呢PUBG关于bat脚本问题挺严重的,虽然作者本人是不玩PUBG的,但是下面也是解释一下代码的内容

1-25行,用于检测提权管理员权限,用于后面将暂停更新时间写入Windows注册表

26-39行,提供两个选项:暂停Windows更新 或者 启用Windows更新

并且通过用户输入数字判定选项

40-66行,根据用户的选项执行对应命令(写这个文章时才注意到标签名输反了,但是不影响)

选择1,执行Update(暂停Windows更新)

选择2,执行Un_Update(取消暂停Windows更新)

其中这部分中“reg add [code]”均是用于通过 Windows 注册表编辑器 (reg add) 修改 Windows 更新设置的命令。它们会将特定的值写入系统的注册表中,以控制 Windows 更新的行为

文末就直接把脚本全部内容贴出来吧:

@echo off

:: 检查是否以管理员身份运行

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (

echo 正在请求管理员权限...

goto UACPrompt

) else (

goto gotAdmin

)

:UACPrompt

:: 创建一个临时 VBScript 文件以提升权限

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

:: 执行 VBScript 提升权限

"%temp%\getadmin.vbs"

:: 删除临时 VBScript 文件

del /f /q "%temp%\getadmin.vbs"

exit /B

:gotAdmin

:: 管理员权限已获得,继续执行以下命令

echo 已成功获得管理员权限。

pause

:: 提供功能选择

echo 请选择要执行的操作:

echo 1. 暂停Windows自动更新

echo 2. 取消暂停Windows自动更新

set /p choice=请输入选项 (1 或 2):

:: 判定选项

if '%choice%' EQU '1' goto Update

if '%choice%' EQU '2' goto Un_Update

echo 无效的选项,请重新运行脚本。

pause

exit /B

:Update

:: 暂停Windows自动更新

echo 正在暂停Windows自动更新...

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "FlightSettingsMaxPauseDays" /t REG_DWORD /d 7000 /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesStartTime" /t REG_SZ /d "2023-07-07T10:00:52Z" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesEndTime" /t REG_SZ /d "2050-01-01T00:00:00Z" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesStartTime" /t REG_SZ /d "2023-07-07T10:00:52Z" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesEndTime" /t REG_SZ /d "2050-01-01T00:00:00Z" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesStartTime" /t REG_SZ /d "2023-07-07T09:59:52Z" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesExpiryTime" /t REG_SZ /d "2050-01-01T00:00:00Z" /f

echo Windows自动更新已暂停至2050-01-01。

pause

exit /B

:Un_Update

:: 取消暂停Windows自动更新

echo 正在取消暂停Windows自动更新...

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "FlightSettingsMaxPauseDays" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesStartTime" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesEndTime" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesStartTime" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesEndTime" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesStartTime" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesExpiryTime" /f

echo Windows自动更新已取消暂停。

pause

exit /B

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com