我一直试图在Azure VM上运行脚本,该脚本需要像这样传递参数;
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命令来查找参数。我尝试阅读文档here,并尝试以各种不同的方式传递它,其中有些涉及;
--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脚本中执行这些操作,但是在Command窗口和PowerShell中都无法执行。
有谁能告诉我如何使用AzureCLI运行命令命令将参数(已命名或以其他方式成功地)传递到PowerShell脚本中?
答案 0 :(得分:3)
在这种情况下,使用第二个建议的符号有效:
--parameters first=xxx second=yyy
尽管根据文档,两种方法都可以