如何从命令行检查 Windows 是否有等待自动更新?

如何从命令行检查 Windows 是否有等待自动更新?

如果 Windows 服务器 (2k3/2k8) 设置为“下载但不安装”更新,是否有办法从命令行进行检查……也许是日志文件或我可以用 powershell 检查的东西,以查看是否有任何更新实际上正在等待安装?我试图避免必须手动登录到每个服务器进行检查,即使他们希望手动拉动“触发器”。我们有一个我可以使用的自动化系统 (CA Autosys) - 只是不确定要让它寻找什么。

答案1

我们可以用IUpdateSearcher::搜索确定尚未安装的更新的数量:

$session = New-Object -com "Microsoft.Update.Session"

$searcher = $objSession.CreateUpdateSearcher()

$results = $objSearcher.search("IsInstalled=0")

$results.updates.count

如果需要通过其他脚本进行安装,请先分配上述变量并添加:

$installer = New-Object -com "Microsoft.Update.Installer"

$installer.Updates = $results.updates

foreach ($update in $objresults)
{
    $objInstaller.install()
}

答案2

看一眼http://wuinstall.com/

来自他们的网站 - “WuInstall 是 Windows 的一个命令行工具,它使您能够使用命令行脚本而不是标准 Windows 更新功能以受控方式为某个工作站安装 Windows 更新。”

相关内容