我设法只用一个参数运行我的脚本,它可以工作:
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"])
我只需要指定第一个参数名称及其值,然后指定其余参数值而不指定它的名称。这很奇怪,但它有效。