gpt4 book ai didi

azure - 在 Powershell 脚本的命令行上将 string[] 作为参数传递

转载 作者:行者123 更新时间:2023-12-03 06:15:43 28 4
gpt4 key购买 nike

我正在使用 PowerShell 脚本执行 az cli 命令。我想包装这个命令:az 标签更新 --resource-id $appPlanId --operation merge --tags Tag1=test1 Tag2=test2
--tags 参数是某种字符串数组。

我创建了这个 PowerShell 函数:

function Update-ResourceTagsJustForResource {
[OutputType([string])]
[CmdletBinding()]
param (
[Parameter(Mandatory)][string] $ResourceId,
[Parameter(Mandatory)][System.string[]] $ResourceTags
)
az tag update --operation merge --resource-id $ResourceId --tags $ResourceTags
}

我这样调用它:
Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags Tag1=test1 Tag2=test2
我收到此错误:
找不到接受参数“Tag2=test2”的位置参数

当我这样调用它时:
Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags "Tag1=test1 Tag2=test2"
我没有收到错误,但只添加了 1 个标签:
"Tag1": "test1 Tag2=test2"

这些选项也不起作用:

  • Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags "Tag1=test1""Tag2=test2"
  • Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags "Tag1=test1", "Tag2=test2"
  • Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags []{"Tag1=test1", "Tag2=test2"}
  • Update-ResourceTagsJustForResource -ResourceId $appPlanId -ResourceTags ("Tag1=test1", "Tag2=test2").Split(',')

使用字符串数组作为参数调用 PowerShell 命令的正确语法是什么?

最佳答案

我已经在我的环境中重现并得到了预期结果,如下:

您可以像下面这样调用您的函数(稍微修改一下您的函数):

$r = "/subscriptions/b83c-2b83a074c23f/resourceGroups/bojja/providers/Microsoft.Web/sites/rithwik123"
$t = "Tag1=test1", "Tag2=test2"
Update-ResourceTagsJustForResource -ResourceId $r -ResourceTags $t

enter image description here

输出:

enter image description here

关于azure - 在 Powershell 脚本的命令行上将 string[] 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76263774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com