我已经看到过许多类似的问题,但它们要么已经过时,要么假设网络离线或服务器离线。
我们有大量远程地点,其中大多数都没有自己的 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
wsusscn2.cab
从这里下载最新的更新包:http://go.microsoft.com/fwlink/?linkid=74689- 获取 PowerShell 模块来管理更新,手动下载
.nupkg
https://www.powershellgallery.com/packages/PSWindowsUpdate/2.2.0.2 - 将这两个文件复制到您将用于将更新移动到计算机的 USB。
- 将其解压
.nupkg
到模块文件夹:C:\Program Files\WindowsPowerShell\Modules
以便最终路径看起来像C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate
该文件夹中的 nupkg 的内容。 - 导入模块:
Import-Module PSWindowsUpdate
- 添加步骤 1 中的 cab 文件作为更新源:
Add-WUOfflineSync -Path C:\wsusscan.cab
使用放置 cab 文件的路径。 - 使用以下方法获取
ServiceID
第 6 步中创建的:Get-WUServiceManager
。此命令列出所有选项及其 GUID。您要查找的选项的名称为Offline Sync Service
ServiceID
引用步骤 7 中我输入的内容,从新源安装更新<GUID>
:
Install-WindowsUpdate -ServiceID <GUID> -AcceptAll -AutoReboot