Packer - Windows Server 2012R2 - 安装 PowerShell 5

Packer - Windows Server 2012R2 - Install PowerShell 5

我在使用 Packer 在 Windows Server 2012 R2 上安装 PowerShell 5 时遇到问题。

要安装 PowerShell 5.1,我使用的是 chocolatey

powershell iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex choco install PowerShell -y

我需要为两个打包机构建器执行此操作:

使用 Amazon Web Services EC2 AMI 我尝试从以下位置执行上述操作

我在片段执行后在流程中添加了 windows-restart 规定。

类似地,我对 Hyper-V Vagrant 进行了同样的尝试,既作为 Autounattend 流程的一部分,也作为内联规定.

在这两种情况下,安装都会失败,因为未创建用户配置文件。至少我认为这是问题所在。作为参考,我在安装 sql server express 时遇到了完全相同的问题。

有没有人设法完成这个流程,你的建议是什么?

PowerShell 包使用 MSU(Windows 更新文件)。这里有几个注意事项:

  • 确保 Windows 更新服务已打开。 Chocolatey 还没有这样做,尽管有 an issue filed.
  • MSU 必须 运行 来自机器本地。因此,如果您 运行 正在使用 WinRM,则需要让它设置一个计划任务来调用 choco install,然后 运行 这样。

是的,第二点是准确的。不,这不是 Chocolatey 的错。这是 Microsoft 对 MSU 文件的设计决定。这是一个真正的 PITA。

仅供参考 - BoxStarter 对其进行了适当处理,并且可以与 Packer 一起使用。往那里看,你会发现痛感减轻了。

HTH