讓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