无法更新 PowerShell,并出现“无法完成更新并撤消更改”错误

无法更新 PowerShell,并出现“无法完成更新并撤消更改”错误

我有一个在 Hyper-V 上运行的 Windows Server 2012 R2 实例,我正尝试将其从 PowerShell 4.0 更新到 PowerShell 5.1。应用更新后,我重新启动服务器以应用更新,之后 Windows 立即显示:

我们无法完成更新

撤消更改

不要关闭你的电脑

在线研究使我相信这是 Hyper-V 中的安全启动选项的问题。当我尝试在 Powershell 中编辑此选项时:

Set-VMFirmware "Build Server" -EnableSecureBoot Off

我收到错误:

Set-VMFirmware:参数无效。第 1 代虚拟机不支持 VMFirmware cmdlet

我如何才能找到该问题的根本原因,如果禁用 Hyper-V 中的安全启动是解决方案,那么我如何在 Gen1 VM 上执行此操作?

编辑:尝试使用最新补丁更新 Windows 后,我收到了相同的“无法完成更新,正在撤消更改”消息。这似乎是 Windows 更新的问题,而不是 PowerShell 的问题……

答案1

经过几个小时的研究,问题似乎在于不是由于虚拟机上的安全启动,而是由于Windows Temp 目录的内容/卷。这似乎也是 Azure Windows VM 中的一个问题。目录:\Windows\Temp我的虚拟机上的目录约为 2.8gb。我遵循的步骤如下:

  1. 移除所有把手 目录:\Windows\Temp
  2. 删除目录:\Windows\Temp
  3. 跑步Windows更新
  4. 重启虚拟机
  5. 运行 Windows Server 2012 R2Windows 管理框架 5.1安装程序
  6. 重启虚拟机

注意:一些消息来源建议设置温度环境变量直接指向 C:\Windows\Temp(如果尚未指向)。我的 TEMP 变量指向管理员帐户的临时目录。我这样做了不是按照上述步骤操作时,请更改此设置。在本例中,这似乎没有什么区别。

相关内容