如何在Azure订阅级别按定价层导出资源?服务级可行但订阅级无对应选项
按定价层列出Azure订阅级资源的实现方案
Azure PowerShell 操作步骤
- 先登录并切换到目标订阅:
Connect-AzAccount Set-AzContext -Subscription "你的订阅ID/名称" - 执行脚本分组资源:
执行后会显示每个定价层的资源数量,以及对应资源的名称、类型和部署位置。如果需要更详细字段,直接修改$allResources = Get-AzResource $allResources | Group-Object -Property Sku.Tier | Select-Object Name, Count, @{Name='资源详情'; Expression={$_.Group | Select-Object Name, ResourceType, Location}}Select-Object里的属性即可。
Azure CLI 操作步骤
- 登录并切换订阅:
az login az account set --subscription "你的订阅ID/名称" - 用
jq处理输出分组(需提前安装jq工具):az resource list --query "[].{名称:name, 类型:type, 区域:location, 定价层:sku.tier}" | jq 'group_by(.定价层) | map({定价层: .[0].定价层, 资源数量: length, 资源列表: [.[] | {名称, 类型, 区域}]})' - 没装jq的话,用PowerShell解析CLI输出:
$allResources = az resource list --query "[].{名称:name, 类型:type, 区域:location, 定价层:sku.tier}" | ConvertFrom-Json $allResources | Group-Object -Property 定价层 | Select-Object Name, Count, @{Name='资源详情'; Expression={$_.Group | Select-Object 名称, 类型, 区域}}
额外提示
- 部分资源可能没有
Sku.Tier属性,会被归到空值分组里,你可以在脚本里加过滤条件处理这类情况。 - 要导出结果到CSV,用PowerShell追加这段:
$grouped = $allResources | Group-Object -Property Sku.Tier $grouped | ForEach-Object { $_.Group | Select-Object @{Name='定价层'; Expression={$_.Name}}, Name, ResourceType, Location } | Export-Csv -Path "Azure资源按定价层分组.csv" -NoTypeInformation
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

