Azure中如何为特定资源组下所有资源批量添加多个标签?
批量给Azure资源组下所有资源添加多个标签的方法
当然可以,完全不用手动逐个操作,用Azure PowerShell或者Azure CLI就能高效完成批量添加标签的需求,两种实用方法如下:
使用Azure PowerShell
- 先登录你的Azure账号:
Connect-AzAccount - 定义目标资源组名称和要添加的标签集合:
$resourceGroupName = "你的资源组名称" $tagsToAdd = @{ "Environment" = "Production" "Department" = "IT" "Project" = "X" } - 批量获取资源并合并标签(保留原有标签,仅添加新标签):
如果需要直接替换原有所有标签(不保留旧标签),直接把$resources = Get-AzResource -ResourceGroupName $resourceGroupName foreach ($resource in $resources) { $updatedTags = $resource.Tags # 遍历新标签,添加到现有标签集合中 foreach ($key in $tagsToAdd.Keys) { $updatedTags[$key] = $tagsToAdd[$key] } # 更新资源标签 Set-AzResource -ResourceId $resource.ResourceId -Tag $updatedTags -Force }-Tag $updatedTags改成-Tag $tagsToAdd即可。
使用Azure CLI
- 登录Azure账号:
az login - 定义目标资源组和要添加的标签:
resourceGroupName="你的资源组名称" tags="Environment=Production Department=IT Project=X" - 批量更新资源标签(合并模式,保留原有标签):
若要替换所有原有标签,去掉az resource list --resource-group $resourceGroupName --query "[].id" --output tsv | while read resourceId; do az resource update --ids $resourceId --set tags="$tags" --merge done--merge参数即可。
额外提示
如果希望后续新创建的资源自动带上指定标签,可以配置Azure Policy,避免重复手动操作。
内容的提问来源于stack exchange,提问作者CodeBreaker
相关产品推荐
相关产品推荐

