Azure CLI运行命令id RunPowerShellScript传递布尔参数无效

Azure CLI运行命令id RunPowerShellScript传递布尔参数无效,powershell,azure-devops,azure-cli,az,Powershell,Azure Devops,Azure Cli,Az,我一直在使用Azure CLI在vm中执行powershell脚本,甚至使用字符串参数。但是,当脚本包含要添加的布尔参数时,azure invoke命令不会将其传递给脚本执行。是否有人已成功找到正确的语法来通过Azure CLI Invoke RunPowerShellScript传递布尔类型参数 我尝试了以下组合,但没有成功: az vm run-command invoke -g <resource group> -n <vm name> --command-id R

我一直在使用Azure CLI在vm中执行powershell脚本,甚至使用字符串参数。但是,当脚本包含要添加的布尔参数时,azure invoke命令不会将其传递给脚本执行。是否有人已成功找到正确的语法来通过Azure CLI Invoke RunPowerShellScript传递布尔类型参数

我尝试了以下组合,但没有成功:

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

--parameters boolean1=$true
--parameters boolean1=True
--parameters "-boolean1 $True"
--parameters "-boolean1 True"
--parameters "boolean1 $True"
--parameters "boolean1 True"
az vm run command invoke-g-n--command id runpowershell脚本--scripts“@..\Desktop\write host.ps1”。。。
--参数boolean1=$true
--参数boolean1=True
--参数“-boolean1$True”
--参数“-boolean1 True”
--参数“boolean1$True”
--参数“布尔1真”
microsoft文档中没有任何与传递布尔参数相关的信息


我也提出了同样的问题,这可能会为我的问题提供一些背景。

如果Azure调用Windows PowerShell(而不是PowerShell[Core]v6+),并通过PowerShell CLI的
-File
参数进行调用,那么您将无法传递布尔值。退一步:脚本不应该定义布尔参数,而是应该使用
[switch]
参数,在调用时,它们的缺失意味着
$false
,而它们的存在则意味着
$true
。我也尝试过像这样传递[switch]参数:
--参数-parameters-param1
和--parameters-param1:true与您通常在powershell中所做的一样,但不起作用。我认为az vm run命令目前仅限于字符串参数。
-param1:true
不能在Windows PowerShell中工作(它在PowerShell核心中工作);但是,
-param1
-这意味着
$true
应该可以在两个版本中使用,假设
-File
是在后台使用的。如果Azure调用Windows PowerShell(而不是PowerShell[Core]v6+),并通过PowerShell CLI的
-File
参数执行此操作,则无法传递布尔值。退一步:脚本不应该定义布尔参数,而是应该使用
[switch]
参数,在调用时,它们的缺失意味着
$false
,而它们的存在则意味着
$true
。我也尝试过像这样传递[switch]参数:
--参数-parameters-param1
和--parameters-param1:true与您通常在powershell中所做的一样,但不起作用。我认为az vm run命令目前仅限于字符串参数。
-param1:true
不能在Windows PowerShell中工作(它在PowerShell核心中工作);但是,
-param1
-这意味着
$true
应该在两个版本中都适用,假设
-File
是在后台使用的。