You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用PowerShell禁用Windows Server 2012R2自动更新(无需外部模块)

解决方案:用原生PowerShell/批处理禁用Windows自动更新

没问题,我来给你梳理一下在Windows Server 2012 R2上无需第三方PowerShell模块,直接用原生工具禁用Windows自动更新的方法——完全对应你手动通过组策略设置的效果。

其实你通过gpedit.msc设置的「配置自动更新→禁用」,本质就是修改了系统注册表的特定项,而且Windows Server 2012 R2和2008使用的是同一个注册表路径,不用担心版本差异。

1. 对应的注册表项详情

组策略中「配置自动更新」的禁用设置,对应修改以下注册表项:

  • 路径:HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
  • 键名:NoAutoUpdate
  • 值类型:DWORD
  • 值:1(1=禁用自动更新,0=启用)

2. PowerShell实现(优先推荐)

注意:必须以管理员身份运行PowerShell

执行以下命令即可完成设置,会自动创建不存在的注册表路径:

# 创建Windows Update AU策略路径(如果不存在)
New-Item -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force | Out-Null

# 设置禁用自动更新的键值
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoUpdate" -Value 1 -Type DWord

# 可选:重启Windows Update服务让设置立即生效
Restart-Service -Name wuauserv -Force

3. 批处理实现

同样需要以管理员身份运行CMD,执行以下脚本:

@echo off
REM 创建必要的注册表路径
reg add "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" /f >nul 2>&1

REM 设置禁用自动更新的键值
reg add "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f >nul 2>&1

REM 可选:重启Windows Update服务
net stop wuauserv >nul 2>&1
net start wuauserv >nul 2>&1

echo Windows自动更新已禁用
pause

验证设置是否生效

你可以通过以下方式确认设置成功:

  • 重新打开gpedit.msc,查看「配置自动更新」是否已设为「禁用」
  • 检查注册表编辑器中上述路径的NoAutoUpdate值是否为1
  • 打开Windows Update设置,会提示「某些设置由你的组织管理」

内容的提问来源于stack exchange,提问作者Noam

火山引擎 最新活动