Команда запуска Azure CLI вызывает RunPowerShellScript с параметрами - PullRequest
1 голос
/ 13 июня 2019

Я пытался запустить сценарий на виртуальной машине Azure, который требует, чтобы параметры передавались ему следующим образом:

az vm run-command invoke -g <resource group> -n <vm name> --command-id RunPowerShellScript --scripts "@....\Desktop\write-host.ps1" --parameters First Second

Я успешно сделал это с помощью модулей AzureRM следующим образом;

Invoke-AzureRmVMRunCommand -ResourceGroupName <resource group> -VMName <vm name> -CommandId "RunPowerShellScript" -ScriptPath "....\Desktop\write-host.ps1" -Parameter @{ "first" = "First"; "second" = "Second; }

Сценарий write-host.ps1 очень прост и выглядит следующим образом:

param(
    [string]
    $first,

    [string]
    $second
)

Write-Host "$first and $second"

Не удается получить команду Azure CLI для поиска параметров.Я попытался прочитать документацию здесь , я попытался передать ее различными способами, некоторые из которых включают;

--parameters [first=]First [second=]Second
--parameters "[first=]First [second=]Second"
--parameters "`"First`" `"Second`""
--parameters @{"First" = "first"; "second" = "Second"}

Единственный раз, когда я могу получить его на полуработу, это когда я передаю переменные следующим образом:

--parameters "`First`" `"Second`" `"Third`""
--parameters "First Second Third"

В этом случае выводятся только «Второе и третье»Кажется, он игнорирует «Первый»

Я хочу выполнить их в сценарии PowerShell с помощью команд AzureCLI, но мне не удалось выполнить его как в окне команд, так и в PowerShell.

ЕстьКто-нибудь может рассказать мне, как успешно передать параметры, именованные или нет, в сценарий PowerShell с помощью команды запуска AzureCLI?

1 Ответ

3 голосов
/ 13 июня 2019

в этом случае с использованием второго предложенного обозначения сработало:

--parameters first=xxx second=yyy

хотя в соответствии с документами оба пути должны быть в порядке

...