我们正在尝试自动化从 Windows 10 1607 到 1703 的功能升级过程。WSUS 用于分发更新包。
当安装升级时(使用 gpo 或 comobject Microsoft.Update.Session),Windows 更新设置中的状态为“需要重新启动才能完成安装以下更新:功能更新至 Windows 10 企业版,版本 1703”在消息下方我可以看到“立即重启”按钮。
由于我试图使该过程自动化,因此我需要使用非 GUI 方法重新启动计算机,即运行 restart-computer、wmi 或其他方法。计算机重新启动时,不会安装更新。我也尝试过“usoClient RestartDevice”,但没有成功。
仅当我使用“立即重启”按钮时才会升级。如何在不使用 Windows 更新设置 GUI 的情况下强制 Windows 在重启期间进行实际安装?“重启”肯定是重启,无论它以何种方式执行?
答案1
这对我来说很有效,可以通过 PowerShell / ComObject Microsoft.Update.Installer 进行无人值守升级到 1709。我省略了下载代码,因为它与这个问题无关。
if ($DownloadComplete) {
Write-Output "Staging the upgrade.."
$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $Collection
$InstallResult = $Installer.Install()
}
if ($InstallResult.HResult -eq 0 -and $InstallResult.ResultCode -eq 2 -and $InstallResult.RebootRequired) {
Write-Output "Staging complete. Finalising the upgrade.."
Start-Process -FilePath 'C:\$WINDOWS.~BT\Sources\SetupHost.exe' -WorkingDirectory 'C:\$WINDOWS.~BT\Sources' -ArgumentList '/finalize /update'
}
答案2
我也遇到过同样的问题。在尝试自动执行这些功能升级时,似乎存在严重的知识缺乏问题。我的 WSUS 服务器正在推出功能升级,但我的许多计算机从未完成实际安装所需的重启过程。
正常重启不会启动安装,只能从 Windows 更新控制面板单击重启,或从开始菜单单击更新并重启/更新并关机。我找不到与上述两种方法等效的命令行/powershell。
我遇到的唯一事情是有人提到这个问题并说他们使用以下命令来“完成”安装。
C:\$WINDOWS.~BT\Sources\SetupHost.Exe /Finalize /Update /InstallFile "C:\$WINDOWS.~BT\Sources\Install.esd"
到目前为止,我还无法让它工作,但也许其他人会幸运地帮助我们其他人让它工作。