使用Get-AzAdvisorRecommendation无法获取Azure VM右量化成本详情
解决Azure Advisor PowerShell获取VM右量化建议节约金额的方法
首先确认你使用的Az.Advisor PowerShell模块为最新版本,低于2.0.0的旧版本存在右量化建议收益字段缺失的已知问题,可执行以下命令升级:
Update-Module -Name Az.Advisor -Force
之后按照以下步骤拉取对应数据:
- 调用
Get-AzAdvisorRecommendation时添加-Expand *参数,强制拉取全量属性,默认精简返回结果不会加载潜在节约金额字段 - 过滤类型为VM右量化的建议,避免和预留实例等其他成本建议混淆
- 节约金额存储在
PotentialBenefit属性中,部分场景下会嵌套在扩展属性的子字段内,可打印全量属性确认层级
参考代码示例:
# 拉取全量成本类建议,展开所有属性,过滤出VM右量化建议 $rightSizeAdvices = Get-AzAdvisorRecommendation -Category Cost -Expand * | Where-Object { $_.RecommendationTypeId -eq "RightSize" -and $_.ResourceType -eq "Microsoft.Compute/VirtualMachines" } # 输出所有VM右量化建议的资源名、目标SKU、年化节约金额 $rightSizeAdvices | Select-Object ` @{Name="虚拟机名称";Expression={$_.ResourceName}}, @{Name="当前SKU";Expression={$_.ExtendedProperties.currentSku}}, @{Name="目标SKU";Expression={$_.ExtendedProperties.targetSku}}, @{Name="年化节约金额";Expression={$_.PotentialBenefit}}
如果仍然无法获取数值,也可以通过Azure公开定价规则查询currentSku和targetSku的月单价差值,乘以使用时长自行计算对应节约金额。
内容的提问来源于stack exchange,提问作者Andy McAdam
相关产品推荐
相关产品推荐

