Невозможно выполнить расширение настраиваемого сценария на виртуальной машине Azure с помощью интерфейса командной строки Azure из подсистемы Linux.

Я работаю над разработкой сценария проверки Pester после развертывания для своего проекта. Мне нужно протолкнуть сценарии pester в виртуальную машину в качестве настраиваемого расширения сценария с помощью Azure CLI.

Ниже приводится команда, которую я выполнил:

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 после выполнения указанной выше команды:

Развертывание не удалось. Идентификатор корреляции: 8ba16fc0-fea6-4650-bb0a-2b73c9613dfe. Обработчик Microsoft.Azure.Extensions.customScript сообщил об ошибке для расширения виртуальной машины customScript с кодом ошибки терминала «1007» и сообщением об ошибке: «Не удалось установить подключаемый модуль (имя: Microsoft.Azure.Extensions.customScript, версия 2.0. 6) с исключением. Указанный исполняемый файл не является допустимым приложением для этой платформы ОС. '

И во время проверки расширения на виртуальной машине видел статус «Переход» и подробности как «Ошибка установки» для подключаемого модуля (имя: Microsoft.Azure.Extensions.customScript, версия 2.0.6) с исключением. Указанный исполняемый файл не является допустимым приложением для этого. Платформа ОС)

В качестве альтернативы я пробовал с другими издателями: Microsoft.Compute и Microsoft.OSTCExtensions.

К сожалению, ни один из них не работал. Я застрял на этом шаге последние два дня. Любая помощь очень ценится.


person Melbin K    schedule 17.07.2018    source источник
comment
Ошибка предполагает, что ваша целевая виртуальная машина не является машиной Windows, а скорее какой-то другой ОС, в которой Windows PowerShell не поддерживается. Если это так, то сейчас PowerShell Core является кроссплатформенным, но я лично не знаю, можете ли вы использовать его с помощью пользовательских расширений сценариев.   -  person Mark Wragg    schedule 18.07.2018
comment
Спасибо за ваш вклад, Марк. Но виртуальная машина, к которой я пытаюсь получить доступ, - это простая виртуальная машина, настроенная в ОС Windows. Я использовал Microsoft.Azure.Extensions, который выдает ошибку «Не удалось установить плагин (имя: Microsoft.Azure.Extensions.customScript, версия 2.0.6)» с исключением. Указанный исполняемый файл не является допустимым приложением для этой платформы ОС. '   -  person Melbin K    schedule 19.07.2018


Ответы (1)


Я думаю, вы могли использовать неправильное расширение пользовательского скрипта (то, которое вы используете, я считаю, для виртуальных машин Linux). Я думаю, вам следует использовать тот, который называется "CustomScriptExtension", с издателем "Microsoft.Compute" и версией, установленной на "1.9", как описано в здесь.

В частности, попробуйте вместо этого эту команду:

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
person Mark Wragg    schedule 19.07.2018
comment
Отлично, теперь я исправил ошибку. Как вы правильно заметили, я попробовал издателя как micosoft.compute с именем CustomScriptExtension, и это сработало отлично. Спасибо большое. - person Melbin K; 20.07.2018