Azure CLI run-command invoke RunPowerShellScript with parame



我一直在尝试在 Azure VM 上运行一个脚本,该脚本需要像这样传递给它的参数;

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

我已经通过以下方式使用 AzureRM 模块成功完成此操作;

Invoke-AzureRmVMRunCommand -ResourceGroupName <resource group> -VMName <vm name> -CommandId "RunPowerShellScript" -ScriptPath "....Desktopwrite-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"

在这种情况下,它只打印出"第二和第三",它似乎忽略了"第一">

我想使用 AzureCLI 命令在 PowerShell 脚本中执行这些命令,但我无法在命令窗口和 PowerShell 中执行它。

是否有人能够告诉我如何使用 AzureCLI 运行命令将参数(命名或其他方式(成功传入 PowerShell 脚本?

在这种情况下使用第二个建议的表示法有效:

--parameters first=xxx second=yyy

虽然根据文档,两种方式都应该没问题

最新更新