无法使用Linux子系统中的Azure CLI在Azure VM上执行“自定义脚本扩展”

时间:2018-07-17 07:40:20

标签: visual-studio-code azure-cli pester azure-vm-templates

我正在为我的项目开发部署后的Pester验证脚本。我需要使用Azure CLI将瘟疫脚本作为自定义脚本扩展推入VM。

以下是我执行的命令:

az vm extension set --resource-group SomeRG--vm-name SimpleVM --name 
customScript --publisher Microsoft.Azure.Extensions --settings '{"fileUris": 
["https://github.com/myname/DSCConfig/blob/master/pester.ps1"], 
"commandToExecute":"powershell -ExecutionPolicy Unrestricted -File 
pester.ps1"}'  --version 2.0

执行上面的命令后,我在Linux界面中收到以下错误:

  

部署失败。相关ID:   8ba16fc0-fea6-4650-bb0a-2b73c9613dfe。处理程序   'Microsoft.Azure.Extensions.customScript'报告了VM失败   带有终端错误代码“ 1007”的扩展名“ customScript”和错误   消息:“插件安装失败(名称:   Microsoft.Azure.Extensions.customScript,版本2.0.6),但有例外   指定的可执行文件不是此操作系统的有效应用程序   平台。

在检查VM上的扩展名时,状态为“正在过渡”,并且详细信息为插件安装失败(名称:Microsoft.Azure.Extensions.customScript,版本2.0.6),但指定的可执行文件无效该OS平台的应用程序)

或者,我尝试了其他发布者:Microsoft.Compute和Microsoft.OSTCExtensions

不幸的是,它们都不起作用。在过去的两天里,我一直坚持这一步骤。任何帮助深表感谢。

1 个答案:

答案 0 :(得分:1)

我认为您可能使用了错误的自定义脚本扩展名(我认为您使用的是Linux VM)。我认为您应该使用一个名为“ CustomScriptExtension”的文件,并将其发行商为“ Microsoft.Compute”,并将版本设置为“ 1.9”,如here所述。

具体来说,请尝试使用以下命令:

az vm extension set --resource-group SomeRG--vm-name SimpleVM --name CustomScriptExtension --publisher Microsoft.Compute --settings '{"fileUris": ["https://github.com/myname/DSCConfig/blob/master/pester.ps1"], "commandToExecute":"powershell -ExecutionPolicy Unrestricted -File pester.ps1"}' --version 1.9