我正在尝试创建自动化脚本来下载适用于 Windows11 23H2 x64 的 Windows 更新 CU 的最新离线版本(.msu 安装文件)。
我根据该页面创建了 PowerShell 代码: 如何使用 PowerShell 下载并安装离线 Windows 更新 但我不知怎的坚持了最后一个下载步骤。这是我的下载代码:
Install-Module -Name "MSCatalog"
Update-Module -Name "MSCatalog"
$DestinationDir = "D:\WinUpd"
# CU Standard
$UpdCUStandardName = "Cumulative Update for Windows 11 Version 23H2 for x64-based Systems"
(Get-MSCatalogUpdate -Search $UpdCUStandardName) | Where { $_.Title -match $UpdCUStandardName } | Select -First 1 | FL
$UpdCUStandardGuid = ((Get-MSCatalogUpdate -Search $UpdCUStandardName) | Where { $_.Title -match $UpdCUStandardName } | Select -First 1 | Select-Object -Property "Guid").Guid
$UpdCUStandardTitle = ((Get-MSCatalogUpdate -Search $UpdCUStandardName) | Where { $_.Title -match $UpdCUStandardName } | Select -First 1 | Select-Object -Property "Title").Title
Write-Host "UpdCUStandardGuid is: $UpdCUStandardGuid"
Write-Host "UpdCUStandardTitle is: $UpdCUStandardTitle"
Save-MSCatalogUpdate -Guid $UpdCUStandardGuid -Destination $DestinationDir
即使我把下载指南(我理解为唯一的名称)脚本卡住了并问我: “此更新存在多个文件。输入要下载的文件的 ID 或‘A’来下载所有文件。:” 当我按“A”时,不会下载任何内容,并且基本上会退出。我已经尝试过写 0,1,Guid,但没有运气。
从另一方面来说,当我改变时 $UpdCUStandardName =“基于 x64 的系统的 Windows 11 版本 23H2 累积更新” 到 $UpdCUStandardName =“适用于基于 x64 的系统的 Windows Server 2019 累积更新 (KB5034127)” 它会起作用:
我的代码是否做错了什么,或者 Win11 的 CU 因某种原因被阻止使用 PS 命令“Save-MSCatalogUpdate”下载? 或者也许有另一种方法(工具)可以在“路径日”之后自动下载所有这些?
MSCatalog 代码中存在一个已知错误,作者在 2 年前就意识到了这一点,但从那时起似乎就放弃了该项目。这是一个很棒的模块,只是不再起作用了。
有 github 项目:“MSCatalog”,其中问题最终由社区解决:
https://github.com/ryan-jan/MSCatalog/issues/30#issuecomment-1987357784