在非联网工作站上安装 Windows 安全更新

在非联网工作站上安装 Windows 安全更新

我已经看到过许多类似的问题,但它们要么已经过时,要么假设网络离线或服务器离线。

我们有大量远程地点,其中大多数都没有自己的 IT 商店。每个地点都有至少两个甚至可能多个工作站,这些工作站根本没有连接到任何网络。这些工作站运行的是 Windows 10 Enterprise。这些事情都不是可以商量的。

我们每年会为应用程序准备两到四次更新。远程位置通过我们的安全 Web 门户检索该更新,将其加载到闪存驱动器上,然后将该更新应用于每个工作站。我想借此机会安装自上次更新以来 Windows 的任何安全或关键更新。

到目前为止,我见过的最佳选择是 WSUS Offline,但它并不容易进行增量更新,而且没有它,最终下载大小将变得不合理。我没有使用过 WSUS 或 SCCM,但它们似乎没有创建离线安装程序的选项。目标工作站非常严格,因此在我的理想世界中,我希望生成的可执行文件由 Microsoft 或我们签名。

我还应该考虑其他选择吗?如果可用,我们愿意为企业解决方案付费。现在,我正在认真考虑从 WSUS Offline 获取源代码并对其进行修改以满足我的需求,但我宁愿不占用我的开发资源。

答案1

在较新的补丁模型下,一切都已累积,这就是补丁如此庞大的原因。它们基本上已成为每个产品的月度服务包。因此,根据您在这些机器上安装的产品,您只需要以下产品的最新更新:(#1) 操作系统,然后是 (#2) IE、(#3) .NET Framework 和可能 (#4) 安装的 Office 的任意版本。

例如:如果您每年在 1 月和 6 月修补 2 次,那么您不需要应用其他 10 个月的内容,因为 2018 年 1 月将取代 2017 年的任何内容,而 2018 年 6 月将取代 2018 年 2 月至 5 月。

答案2

http://catalog.update.microsoft.com (确保您获得适用于正确操作系统和 x86 或 x64 的版本)一次输入 KB####### 并将它们添加到购物车当提示输入文件夹时浏览至 c:\updates

Wusa.exe 文件位于 %windir%\System32 文件夹中。Windows Update 独立安装程序使用 Windows Update 代理 API 来安装更新包。

for /R "C:\Updates\" %i in (*.msu) do wusa "%i" /quiet /norestart

我建议重命名补丁,在文件名开头添加 1、2、3 等,以便按正确顺序安装它们。或者在批处理文件中只包含一堆 wsu。

wusa "package1.msu" /quiet /norestart
wusa "package2.msu" /quiet /norestart
wusa "package3.msu" /quiet /norestart
...

当然,您可以编写一个更智能的脚本来检查是否存在更新,并仅应用所需的更新。

这里唯一的潜在问题是更新可能需要强制重启,而您的脚本必须处理这种情况。此外,更新可能无法安装,这将需要更多的错误检查。


另一个可能的答案是完整映像。您可以使用微软的 imagex 将 Windows 捕获到 wim 文件中。然后在 USB 上用 wim 文件创建一个 Windows PE 环境。部署 wimfile,重新启动,就大功告成了。

这样做的好处是,你知道所有补丁都已正确部署。计算机将处于统一的配置。

如果最终用户需要存储文件,我建议将硬盘分区为 c:和 d:,然后将所有用户文件存储在 D:上,这样您就可以随意重新映像 C:驱动器。

最大的缺点是大小,即使你彻底清理了图像,它也会大得多。也许 16 或 32gb 取决于你的程序有多大以及你清理硬盘上不需要的文件的彻底程度。

答案3

  1. wsusscn2.cab从这里下载最新的更新包:http://go.microsoft.com/fwlink/?linkid=74689
  2. 获取 PowerShell 模块来管理更新,手动下载.nupkg https://www.powershellgallery.com/packages/PSWindowsUpdate/2.2.0.2
  3. 将这两个文件复制到您将用于将更新移动到计算机的 USB。
  4. 将其解压.nupkg到模块文件夹:C:\Program Files\WindowsPowerShell\Modules以便最终路径看起来像C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate该文件夹中的 nupkg 的内容。
  5. 导入模块:Import-Module PSWindowsUpdate
  6. 添加步骤 1 中的 cab 文件作为更新源:Add-WUOfflineSync -Path C:\wsusscan.cab使用放置 cab 文件的路径。
  7. 使用以下方法获取ServiceID第 6 步中创建的:Get-WUServiceManager。此命令列出所有选项及其 GUID。您要查找的选项的名称为Offline Sync Service
  8. ServiceID引用步骤 7 中我输入的内容,从新源安装更新<GUID>

Install-WindowsUpdate -ServiceID <GUID> -AcceptAll -AutoReboot

相关内容