关闭Windows 11自动更新的方法
-
通过任务计划程序关闭
- 右键单击“此电脑”,点击“管理”。
- 导航到“任务计划程序”>“任务计划程序库”>“Microsoft”>“Windows”>“WindowsUpdate”。
- 右键单击“Scheduled Start”任务,然后点击“禁用”即可停止Windows 11更新。
-
通过组策略编辑器关闭
- 按Win+R输入
gpedit.msc
并按Enter键打开本地组策略编辑器。 - 转到路径:本地计算机策略>计算机配置>管理模板>Windows组件>Windows更新>适用于企业的Windows更新。
- 双击“选择目标功能更新版本”,配置为“已启用”,填入想停留的Windows版本,然后应用确定。重启计算机即可彻底停止更新。
- 按Win+R输入
-
通过服务管理器关闭
- 按Win+R输入
services.msc
并按Enter键打开服务页面。 - 在列表中找到“Windows Update”选项,双击进入详细属性页面,将启动类型配置为“禁用”,然后单击“应用”和“确定”即可关闭Windows自动更新。
- 按Win+R输入
import subprocess
import winreg
import platform
import ctypes # 导入 ctypes 模块
def run_command(command):
try:
result = subprocess.run(
command,
check=True,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
)
print(" 3.命令成功关闭Windows 11自动更新:通过任务计划程序关闭")
print(result.stdout)
except subprocess.CalledProcessError as e:
print(f"命令执行出错: {e}")
print(f"错误详情: {e.stderr} -------请用管理员权限运行。--------- ")
def get_current_windows_version():
# 获取当前Windows版本
return platform.version()
def set_registry_value(key_path, value_name, value, reg_type):
try:
# 打开或创建注册表项
key = winreg.OpenKey(
winreg.HKEY_LOCAL_MACHINE, key_path, 0, winreg.KEY_SET_VALUE
)
except FileNotFoundError:
# 如果注册表项不存在,则创建它
key = winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, key_path)
# 设置注册表值
winreg.SetValueEx(key, value_name, 0, reg_type, value)
winreg.CloseKey(key)
print(f"设置 {key_path}\\{value_name} 为 {value}")
def disable_windows_updates(current_version):
# 禁用Windows更新服务
set_registry_value(
r"SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU",
"NoAutoUpdate",
1,
winreg.REG_DWORD,
)
# 配置目标功能更新版本
set_registry_value(
r"SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate",
"TargetReleaseVersion",
1,
winreg.REG_DWORD,
)
set_registry_value(
r"SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate",
"TargetReleaseVersionInfo",
current_version, # 使用当前版本号
winreg.REG_SZ,
)
print(" 2. Windows 11自动更新已成功禁用:通过组策略编辑器关闭")
print("请重启计算机以应用更改。")
def disable_scheduled_start_task():
# PowerShell 命令来禁用 "Scheduled Start" 任务
powershell_command = (
'Get-ScheduledTask -TaskName "Scheduled Start" -TaskPath "\\Microsoft\\Windows\\WindowsUpdate\\" | '
"Disable-ScheduledTask"
)
# 运行 PowerShell 命令
run_command(["powershell", "-Command", powershell_command])
def enable_scheduled_start_task():
# PowerShell 命令来启用 "Scheduled Start" 任务
powershell_command = (
'Get-ScheduledTask -TaskName "Scheduled Start" -TaskPath "\\Microsoft\\Windows\\WindowsUpdate\\" | '
"Enable-ScheduledTask"
)
# 运行 PowerShell 命令
run_command(["powershell", "-Command", powershell_command])
def disable_windows_update_service():
# 命令行指令用于禁用 Windows Update 服务
command = "sc config wuauserv start= disabled"
run_command(command)
def enable_windows_update_service():
# 命令行指令用于启用 Windows Update 服务
command = "sc config wuauserv start= auto"
run_command(command)
if __name__ == "__main__":
# 检查是否以管理员权限运行
if not ctypes.windll.shell32.IsUserAnAdmin():
print("请以管理员权限运行此脚本。")
input("按 Enter 键退出...")
exit()
# 获取当前Windows版本
current_version = get_current_windows_version()
# 输出当前Windows版本
print(
f" 1. 通过服务管理器关闭Windows 11自动更新: 当前Windows版本: {current_version}"
)
# 禁用Windows更新
disable_windows_updates(current_version)
disable_scheduled_start_task()
disable_windows_update_service()
# 提示用户重启计算机
print("所有操作已完成。请重启计算机以应用更改。")
print("按 Enter 键退出...")
input()
脚本说明
-
检查管理员权限:
- 脚本首先检查是否以管理员权限运行。如果不是,会提示用户以管理员权限重新运行脚本并退出。
-
获取当前Windows版本:
- 脚本获取并显示当前的Windows版本。
-
禁用Windows更新:
- 通过修改注册表禁用自动更新。
- 通过PowerShell命令禁用“Scheduled Start”任务。
- 通过命令行禁用Windows Update服务。
-
提示用户重启计算机:
- 脚本完成后,提示用户重启计算机以应用更改。
- 最后,脚本等待用户按下Enter键后退出。
使用步骤
-
保存脚本:
- 将上述代码保存为一个Python文件,例如
disable_windows_update.py
。
- 将上述代码保存为一个Python文件,例如
-
以管理员权限运行脚本:
- 右键点击命令提示符或PowerShell图标,选择“以管理员身份运行”。
- 导航到脚本所在的目录。
- 运行脚本: sh
深色版本
python disable_windows_update.py
-
完成操作:
- 脚本会依次执行禁用Windows更新的各项操作。
- 完成后,脚本会提示用户重启计算机以应用更改。
- 按下Enter键退出脚本。
注意事项
- 备份重要数据:虽然这个方法可以禁用Windows更新,但请确保定期备份你的数据,以防任何意外情况发生。
- 安全性:Windows更新通常包含重要的安全补丁。禁用更新可能会使你的系统面临安全风险。如果你决定禁用更新,请确保采取其他措施来保护你的系统。
- 恢复更新:如果你将来需要重新启用更新,可以取消注释脚本中的
enable_scheduled_start_task()
和enable_windows_update_service()
函数调用,并重新运行脚本。
希望这份文档能帮助你顺利禁用Windows 11的自动更新。如果有任何问题或需要进一步的帮助,请随时联系。