下载最新的 Windows 11x64 CU:使用 PowerShell 或任何其他自动化工具的系统和 .NET Framework

问题描述 投票:0回答:2

我正在尝试创建自动化脚本来下载适用于 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”下载? 或者也许有另一种方法(工具)可以在“路径日”之后自动下载所有这些?

windows powershell windows-update
2个回答
0
投票

MSCatalog 代码中存在一个已知错误,作者在 2 年前就意识到了这一点,但从那时起似乎就放弃了该项目。这是一个很棒的模块,只是不再起作用了。


0
投票

有 github 项目:“MSCatalog”,其中问题最终由社区解决:

https://github.com/ryan-jan/MSCatalog/issues/30#issuecomment-1987357784

© www.soinside.com 2019 - 2024. All rights reserved.