限制从 WSUS 安装 Windows 更新补丁

限制从 WSUS 安装 Windows 更新补丁

我们有多个 WSUS 服务器,但为了举例,我们将只关注一个 WSUS 服务器。

情况如下:

  • 我有多个 Windows 更新补丁需要在近 1000 台机器上下载并安装。
  • 某些机器上有超过 250 个 Windows 更新补丁尚未下载或安装。

  • 如果我们连续推送(下载并安装)这些补丁(在单台机器上),有时会遇到一些麻烦,所有补丁都会被卸载,所以我们需要重新下载所有补丁,然后逐个重新安装这 30 个补丁,以确保它们被正确安装。

我想创建一个 .bat 或 .vbs 脚本(我也需要在 Windows XP 机器上执行它)以便在 Windows 更新有 30 个补丁时停止安装过程,因为实际上我正在手动执行此操作并且找不到我想要的内容。

手动停止安装:

手动停止安装

答案1

我希望你现在已经解决了这个问题,但是如果你还没有解决的话,可以采取这里的方法。

无法将自动更新配置为一次性仅安装一定数量的更新。

但是,自动更新并不是唯一的解决方案。您可以编写一个脚本,使用 Windows 更新代理 API 按照您自己的计划安装下载。

剧本“搜索、下载和安装更新”微软网站上的 WUA API 是一个很好的起点。您实际上根本不需要了解 WUA API 就可以知道它在做什么:

  • 它会搜索所有适用的更新并将其列出。
  • 它会下载找到的所有更新。
  • 它会检查哪些更新已成功下载,然后安装它们。

修改此脚本以执行您想要的任何行为非常容易(如果您遇到无法解决的挑战,Stack Overflow 上的人们可以为您提供帮助)。因此,例如,如果您不想一次下载和安装超过 30 个更新,您只需找到脚本中的以下部分:

Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")

For I = 0 to searchResult.Updates.Count-1

并将其更改为:

Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
updateDownloadCount = searchResult.Updates.Count-1
If updateDownloadCount > 30 Then
    updateDownloadCount = 30
End If
For I = 0 to updateDownloadCount-1

现在脚本将仅下载并安装搜索中找到的前 30 个更新。

相关内容