如何用可复用PowerShell脚本修改自动更新注册表设置
PowerShell脚本配置Windows自动更新注册表设置
以下是实现你需求的PowerShell脚本,直接复制使用即可,记得以管理员身份运行:
# 定义WSUS服务器的URL,替换成你公司的实际地址 $wsusServerUrl = "http://your-wsus-server:8530" # 1. 创建必要的注册表路径(如果不存在的话) $regPaths = @( "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate", "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" ) foreach ($path in $regPaths) { if (-not (Test-Path $path)) { New-Item -Path $path -Force | Out-Null } } # 2. 启用Configure Automatic Updates,并设置更新模式 # NoAutoUpdate = 0 表示启用自动更新;AUOptions = 4 表示自动下载并安装(可根据需求修改:2=通知下载,3=通知安装) Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoUpdate" -Value 0 -Type DWord Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "AUOptions" -Value 4 -Type DWord # 3. 启用Intranet更新服务并设置WSUS URL # UseWUServer = 1 表示启用WSUS;WUServer和WUStatusServer设置为WSUS地址 Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" -Value 1 -Type DWord Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate" -Name "WUServer" -Value $wsusServerUrl -Type String Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate" -Name "WUStatusServer" -Value $wsusServerUrl -Type String # 重启Windows Update服务使设置生效 Restart-Service -Name wuauserv -Force Write-Host "自动更新注册表配置完成,Windows Update服务已重启"
关键参数说明:
- AUOptions:可选值对应不同更新模式:
- 2:通知下载更新
- 3:通知安装更新
- 4:自动下载并安装更新
- WSUS URL:确保替换成你公司实际的WSUS服务器地址,通常端口是8530(HTTP)或8531(HTTPS)
使用注意:
- 必须以管理员身份运行PowerShell才能修改HKLM路径下的注册表
- 脚本执行后重启Windows Update服务是为了让新设置立即生效
- 如果虚拟机是全新创建的,可能需要先确保Windows Update服务存在并可正常启动
内容的提问来源于stack exchange,提问作者Carter James
相关产品推荐
相关产品推荐

