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

Azure订阅标签提取问题:PowerShell脚本无法获取标签名与值

问题原因

原脚本无法获取TagName和TagValue的核心问题是:遍历标签枚举项时,未正确引用当前项的属性——直接使用$Name、$Value会被视为未定义变量,导致输出空值。


修正后的单个订阅脚本

# 获取目标订阅详情
$subscriptionDetails = Get-AzSubscription | Select-Object -First 1
if ($subscriptionDetails.Tags) {
    $tagData = $subscriptionDetails.Tags.GetEnumerator() | ForEach-Object {
        [PSCustomObject]@{
            SubscriptionId   = $subscriptionDetails.Id
            SubscriptionName = $subscriptionDetails.Name
            TagName          = $_.Name  # 引用当前标签项的Name属性
            TagValue         = $_.Value # 引用当前标签项的Value属性
        }
    }
} else {
    # 处理无标签的订阅
    $tagData = [PSCustomObject]@{
        SubscriptionId   = $subscriptionDetails.Id
        SubscriptionName = $subscriptionDetails.Name
        TagName          = $null
        TagValue         = $null
    }
}

$tagData | Export-Csv -Path "SingleSubscriptionTags.csv" -NoTypeInformation

多订阅批量提取脚本

针对105个Azure订阅的批量标签提取需求,遍历所有订阅并统一收集数据:

# 首次运行需登录Azure账号,注释取消即可
# Connect-AzAccount

# 初始化空数组存储所有订阅标签数据
$allTagData = @()

# 遍历所有Azure订阅
Get-AzSubscription | ForEach-Object {
    $currentSub = $_
    if ($currentSub.Tags) {
        # 遍历当前订阅的所有标签
        $currentSub.Tags.GetEnumerator() | ForEach-Object {
            $allTagData += [PSCustomObject]@{
                SubscriptionId   = $currentSub.Id
                SubscriptionName = $currentSub.Name
                TagName          = $_.Name
                TagValue         = $_.Value
            }
        }
    } else {
        # 记录无标签的订阅信息
        $allTagData += [PSCustomObject]@{
            SubscriptionId   = $currentSub.Id
            SubscriptionName = $currentSub.Name
            TagName          = $null
            TagValue         = $null
        }
    }
}

# 导出数据到CSV(指定UTF-8编码避免中文乱码)
$allTagData | Export-Csv -Path "AllSubscriptionTags.csv" -NoTypeInformation -Encoding UTF8

关键说明

  • 通过$_.Name、$_.Value正确绑定当前遍历的标签属性,解决原脚本的空值问题。
  • 增加无标签订阅的处理逻辑,避免遗漏订阅记录。
  • 批量场景通过遍历所有订阅统一收集数据,最终导出为CSV文件便于后续分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:31:04