你可以通过命令行更改Windows更新设置吗?

我发送了一些服务器(运行服务器2008R2 x64),没有检查他们的Windows更新设置…失败。 默认情况下,它们被设置为自动下载和安装。 我需要他们下载,但不能安装。 这可以通过命令行来完成吗? RDP不是一个选项。

如果计算机位于域中,则可以通过组策略configuration此设置。

否则,您可以手动configuration相关的registry值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\AUOptions 
  1. 不要检查
  2. 检查但不要下载
  3. 下载但不要安装
  4. 下载并安装

当然。 下载,通知安装:

 reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v AUOptions /t REG_DWORD /d 3 

如果您需要直接通过registry修改策略的其他部分,请查看组策略search以供参考 – 这比通过ADMX文件挖掘更令人愉快。

如果您在域环境中具有此服务器,则应通过Windows Update组策略执行此操作。 如果您使用其他方法,则无法使用GPO恢复此更改。

如果您处于非域环境中,则可以使用命令行进行更改。 我不知道任何工具,让你直接做这个更改,所以你将需要做修改Windowsregistry的更改。

从命令行,您可以使用命令REG ADD来更改Windowsregistry。

您需要更改的registry设置位于HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU 。 特别是负责启用或禁用Windows更新设置的AUOption值。 如果值是:

0让本地pipe理员select设置

1意味着从不检查

2检查但不要下载既不安装

3检查,下载但不要安装

4自动下载并安装

要运行在远程计算机中创build的命令,可以使用Microsoft Sysinternals命令行工具PSExec 。 您应该使用Net StopNet start来重新启动Windows更新服务。

所以你应该使用这样的东西:

 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 Update检查

 psexec.exe \\@Servers.txt WUAUCLT /DETECTNOW 

其中Servers.txt是一个简单的记事本文件,每行有一个IP或一个服务器名称。 如果您不想使用Psexec,则还可以远程运行REG命令。 对于REGPsexec您需要启用Firewall exeption 文件和打印机共享,并且应该使用远程服务器上具有pipe理权限的用户帐户运行命令。 请参阅https://stackoverflow.com/q/828432以获取更多信息。其他Access is denied在使用PsexecAccess is denied

我有点惊讶没有人提供的kb: http : //support.microsoft.com/kb/328010

弄清楚了:

reg添加“HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WindowsUpdate \ Auto Update”/ v AUOptions / t REG_DWORD / d 3 / f

参考

从命令行禁用自动更新