Packer - Windows Server 2012R2 - 安装PowerShell 5

时间:2017-03-23 16:52:30

标签: powershell vagrant windows-server-2012-r2 ami packer

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

要安装PowerShell 5.1,我使用的是巧克力

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

我需要为两位打包者建造者做这件事:

  • 亚马逊网络服务EC2 AMI。
  • Hyper-V Vagrant。

使用亚马逊网络服务EC2 AMI ,我已尝试从以下位置执行上述操作

  • 作为user_data_file脚本的一部分。
  • 作为内联配置脚本。

我已经在执行片段后在流程中添加了windows-restart条款。

同样,我也尝试使用 Hyper-V Vagrant 作为 Autounattend 流程的一部分,并作为内联条款。

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

有没有人设法完成此流程,您的建议是什么?

1 个答案:

答案 0 :(得分:0)

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

  • 确保已启用Windows更新服务。虽然有an issue filed,但巧克力并没有这样做。
  • MSU必须从本地运行。因此,如果您正在运行WinRM,则需要让它设置一个计划任务来调用choco install然后以这种方式运行。

是的,第二点是准确的。不,这不是巧克力的错。这是微软设计MSU文件的决定。这是一个真正的PITA。

FYI - BoxStarter正确处理它,它可以与Packer一起使用。如果你看那里你会发现痛苦减轻。

HTH