首页 > 解决方案 > 如何在 Python 中使用具有多个参数的 PowerShell 脚本文件运行 Azure CLI 运行命令调用?

问题描述

我设法只用一个参数运行我的脚本,它可以工作:

from subprocess import call

call(["az", "vm", "run-command", "invoke", "--command-id", "RunPowerShellScript", "-n", "NONPROD-AA-1", "-g", "NONPROD_APP_RG", "--scripts", "@test.ps1", "--parameters", "pattern=test"])

但是当我尝试发送两个参数时它失败了:我尝试了很多这样的方法:

call(["az", "vm", "run-command", "invoke", "--command-id", "RunPowerShellScript", "-n", "NONPROD-AA-0", "-g", "NONPROD_APP_RG", "--scripts", "@test.ps1", "--parameters", "pattern=test pattern2=test2"])
call(["az", "vm", "run-command", "invoke", "--command-id", "RunPowerShellScript", "-n", "NONPROD-BIZ-0", "-g", "NONPROD_APP_RG", "--scripts", "@test.ps1", "--parameters", "pattern=test,pattern2=test2"])
call(["az", "vm", "run-command", "invoke", "--command-id", "RunPowerShellScript", "-n", "NONPROD-BIZ-0", "-g", "NONPROD_APP_RG", "--scripts", "@test.ps1", "--parameters", "@(pattern=test,pattern2=test2"])

他们都失败了。

任何想法???

谢谢 !!!

更新:

我设法发送了多个这样的参数:

call(["az", "vm", "run-command", "invoke", "--command-id", "RunPowerShellScript", "-n", "NONPROD-AA-0", "-g", "NONPROD_APP_RG", "--scripts", "@test.ps1", "--parameters", "pattern=test" "test2"])

"...--parameters", "pattern=test" "test2"])

我只需要指定第一个参数名称及其值,然后指定其余参数值而不指定它的名称。这很奇怪,但它有效。

标签: pythonazure-cli

解决方案


推荐阅读