我发送了一些服务器(运行服务器 2008R2 x64)而没有检查它们的 Windows 更新设置...失败了。默认情况下,它们设置为自动下载和安装。我需要它们下载但不安装。这可以通过命令行完成吗?RDP 不是一个选项。
答案1
如果计算机在域中,您可以通过组策略配置此设置。
否则,您可以手动配置相关的注册表值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\AUOptions
- 不检查
- 检查但不要下载
- 下载但不安装
- 下载并安装
答案2
当然可以。下载,通知安装:
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v AUOptions /t REG_DWORD /d 3
查看组策略搜索如果您需要直接通过注册表修改策略的其他部分,请作为参考 - 这比挖掘 ADMX 文件要愉快得多。
答案3
如果您在域环境中拥有此服务器,则应通过 Windows 更新组策略执行此操作。如果您使用其他方法,则无法使用 GPO 恢复此更改。
如果您处于非域环境中,则可以使用命令行进行更改。我不知道有什么工具可以让您直接进行此更改,因此您需要通过修改 Windows 注册表来进行更改。
您可以从命令行使用命令来更改 Windows 注册表REG ADD
。
您需要更改的注册表设置位于HKEY_LOCAL_MACHINE\SOFTWARE\策略\微软\的Windows\WindowsUpdate\AU。特别是AUOption
负责启用或禁用 Windows 更新设置的值。如果该值为:
0
让本地管理员选择设置
1
表示永不检查
2
检查但不要下载或安装
3
检查,下载但不要安装
4
自动下载并安装
要在远程计算机中运行您创建的命令,您可以使用 Microsoft Sysinternals 命令行工具执行程序Net Stop
。您应该使用和重新启动 Windows 更新服务Net start
。
因此你应该使用这样的东西:
psexec.exe \\@Servers.txt net stop "Automatic Updates"
psexec.exe \\@Servers.txt REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 00000004
psexec.exe \\@Servers.txt net start "Automatic Updates"
您还可以使用以下方法强制检查 Windows 更新:
psexec.exe \\@Servers.txt WUAUCLT /DETECTNOW
哪里Servers.txt
是一个简单的记事本文件,每行包含一个 IP 或服务器名称。如果您不想使用 Psexec,也可以REG
远程运行该命令。否则REG
,Psexec
您需要启用防火墙例外文件和打印机共享并应使用在远程服务器上具有管理权限的用户帐户运行命令。请参阅https://stackoverflow.com/q/828432Access is denied
有关使用时的其他问题的详细信息Psexec
。
答案4
弄清楚了:
reg 添加“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update”/v AUOptions /t REG_DWORD /d 3 /f
参考: