【问题标题】:How do you update many azure tags simultaneously?你如何同时更新许多天蓝色标签?
【发布时间】:2022-01-17 07:54:13
【问题描述】:

我似乎能够找到单独更新每个资源标签的解决方案。但我不知道如何同时做很多标签。帮忙?

  1. Update-aztag
  2. Rest API

【问题讨论】:

标签: azure powershell microsoft-graph-api


【解决方案1】:

带有 ResourceId 的 Update-AzTag cmdlet 选择性地更新资源或订阅上的标签集。此操作允许替换、合并或有选择地删除指定资源或订阅上的标签。

  • “替换”选项将整个现有标记集替换为 新套装。
  • “合并”选项允许添加具有新名称的标签和 使用现有名称更新标签的值。
  • “删除”选项 允许根据给定名称或名称/值选择性地删除标签 对。

1.如果您想要替换订阅中所有资源的标签,您可以使用以下 PowerShell 脚本。

    connect-azaccount
    $replacedTags= @{"key1"="value1"; "key3"="value3"}
    $resourcelist= Get-AzResource
    foreach($item in $resourcelist){
        Update-Aztag -ResourceId $item.ResourceId -Tag $replacedTags -Operation Replace
    }

这是示例输出供参考:

2.如果您想要替换特定标签,您可以参考下面的 PowerShell 脚本。

$replacedTags= @{"key3"="value3"}
$resourcelist= Get-AzResource

foreach($item in $resourcelist){
    
    $existtags=(Get-AzTag -ResourceId $item.ResourceId)
    if(($existtags.Properties.TagsProperty.Values -contains 'value1') -and ( $existtags.Properties.TagsProperty.Keys -contains 'key1'))
    {
        Update-Aztag -ResourceId $item.ResourceId -Tag $replacedTags -Operation Replace
    }
}

这是示例输出供参考:

3.如果您想要合并特定标签,可以参考下面的 PowerShell 脚本。

$mergedTags=@{"key2"="value2"; "key3"="value3"}
$resourcelist= Get-AzResource
foreach($item in $resourcelist){
    
    $existtags=(Get-AzTag -ResourceId $item.ResourceId)
    if(($existtags.Properties.TagsProperty.Values -contains 'key1') -and ( $existtags.Properties.TagsProperty.Keys -contains 'value1'))
    {
        Update-AzTag -ResourceId $item.ResourceId -Tag $mergedTags -Operation Merge
    }
}

这是供参考的示例输出:

【讨论】:

  • 谢谢,但这些是用于选择性资源,问题是如何并行更新它们?我找到的每个解决方案都会导致每个资源的更新,这对于相对较大的租户来说需要很长时间。
  • 如果您使用的是 Windows PowerShell 5.1,您希望并行执行任务,建议使用 ForEach -Parallel 这应该在 Windows Powershell 工作流中构建。这是参考documentation 了解更多信息。我们已经在本地环境中对此进行了测试,运行良好这里是截图供参考i.stack.imgur.com/lvmQu.png
  • 如果您使用的是 Powershell7,您可以使用Foreach-object -parallel 来并行执行作业,这里是参考文档。 devblogs.microsoft.com/powershell/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 2018-09-07
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多