禁用 Windows 10 自动更新 — 完整踩坑记录

moonjerx
2026-05-18 / 0 评论 / 37 阅读 / 正在检测是否收录...
操作环境:Windows 10,PowerShell(管理员权限)
目标:彻底、永久禁止系统自动更新

一、背景

Windows 10 的自动更新机制非常顽固,微软在多个层面都做了保护:

  • 服务层wuauserv(Windows Update)+ UsoSvc(Update Orchestrator)
  • 策略层:注册表 AU 策略
  • 计划任务层\Microsoft\Windows\UpdateOrchestrator\* 下十余个任务
  • 权限保护:部分计划任务文件归属 TrustedInstaller,普通管理员无法直接修改

仅禁用服务是不够的,Win10 会通过计划任务自动把服务重新拉起。


二、踩坑过程

第一次尝试(只禁服务 + 注册表)

Stop-Service wuauserv -Force
Set-Service wuauserv -StartupType Disabled
Set-Service UsoSvc -StartupType Disabled
Stop-Service UsoSvc -Force
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 1 /f

问题:未处理计划任务,系统会通过 UpdateOrchestrator 定时任务重新启用服务并触发更新。


第二次尝试(追加禁用计划任务)

Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | Disable-ScheduledTask

报错

Disable-ScheduledTask : 拒绝访问。
HRESULT 0x80070005

原因:这些计划任务文件(位于 C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\)的所有者是 TrustedInstaller,即使管理员也无写入权限。


第三次尝试(夺权后再禁用)✅ 成功

思路:对每个任务文件先 takeown 夺取所有权,再 icacls 授权,最后执行 Disable-ScheduledTask

Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | ForEach-Object {
    $path = "C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\$($_.TaskName)"
    takeown /f $path /a
    icacls $path /grant Administrators:F
    Disable-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath
}

结果:全部 13 个任务均成功禁用(State: Disabled)。


三、最终完整一行命令

⚠️ 需以管理员身份运行 PowerShell
Stop-Service wuauserv -Force; Set-Service wuauserv -StartupType Disabled; Set-Service UsoSvc -StartupType Disabled; Stop-Service UsoSvc -Force; reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f; reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 1 /f; Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | ForEach-Object { $path = "C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\$($_.TaskName)"; takeown /f $path /a; icacls $path /grant Administrators:F; Disable-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath }

四、三层封锁说明

层级操作说明
服务层禁用 wuauserv + UsoSvc停止并设为 Disabled,阻止开机自启
策略层写注册表 AU 策略NoAutoUpdate=1AUOptions=1,策略级别覆盖用户设置
计划任务层夺权并禁用全部 UpdateOrchestrator 任务防止任务重新拉起服务

五、被禁用的计划任务清单

任务名作用
Reboot_AC插电时重启安装更新
Reboot_Battery电池模式重启安装更新
Report policies上报策略信息
Schedule Maintenance Work计划维护工作
Schedule Scan计划扫描更新
Schedule Scan Static Task静态扫描任务
Schedule Wake To Work唤醒执行更新
Schedule Work计划更新工作
Start Oobe Expedite WorkOOBE 加急更新
StartOobeAppsScanAfterUpdate更新后扫描应用
StartOobeAppsScan_LicenseAccepted许可接受后扫描
UpdateModelTask更新模型任务
USO_UxBroker更新界面代理

六、恢复方法(如需重新开启更新)

Set-Service wuauserv -StartupType Manual
Start-Service wuauserv
Set-Service UsoSvc -StartupType Manual
Start-Service UsoSvc
Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | Enable-ScheduledTask
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f

记录时间:2026-05-18

0

评论 (0)

取消

您的IP: