You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AZ脚本删除Azure资源的指定标签而非全部标签?

仅删除特定资源标签的方法

你之前用的az tag delete命令会清除资源的所有标签,要只删掉Business unit这个标签、保留其他标签的话,换用下面的命令就行,同时给你PowerShell的实现方式:

Azure CLI 命令

用az tag update搭配--remove参数指定要删除的标签键,这会只移除目标标签,其他标签不受影响:

az tag update --resource-id <你的资源ID> --remove "Business unit"

如果要批量处理hrm01vm、hrmvnet、hrmappservice这些资源,可以写个循环:

# 把你的资源ID填进去,替换掉订阅ID和资源组
resourceIds=(
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Compute/virtualMachines/hrm01vm"
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/virtualNetworks/hrmvnet"
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Web/sites/hrmappservice"
)

# 逐个删除指定标签
for id in "${resourceIds[@]}"; do
  az tag update --resource-id $id --remove "Business unit"
done

PowerShell (Az 模块) 实现

方法1:直接用Update-AzTag

通过-Operation Delete指定删除操作,-Tag参数传入要删除的标签键(值设为$null即可):

# 单个资源的情况
Update-AzTag -ResourceId "<你的资源ID>" -Operation Delete -Tag @{"Business unit"=$null}

# 批量处理多个资源
$resourceIds = @(
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Compute/virtualMachines/hrm01vm",
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/virtualNetworks/hrmvnet",
  "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Web/sites/hrmappservice"
)

foreach ($id in $resourceIds) {
  Update-AzTag -ResourceId $id -Operation Delete -Tag @{"Business unit"=$null}
}

方法2:先获取现有标签再更新

如果需要先确认现有标签再修改,可以先获取资源对象,移除目标标签后再设置回去:

# 获取资源
$resource = Get-AzResource -ResourceId "<你的资源ID>"

# 移除指定标签
$resource.Tags.Remove("Business unit")

# 更新资源标签,-Force参数会跳过确认提示
Set-AzResource -ResourceId $resource.ResourceId -Tag $resource.Tags -Force

注意:记得把命令里的<订阅ID>、<资源组>换成你实际的信息,标签名称带空格的话一定要用引号包裹好,避免命令解析出错。

内容的提问来源于stack exchange,提问作者Amar Sahoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:40:33