查询Azure时的Powershell过滤/格式化

时间:2017-07-26 15:15:03

标签: powershell azure filter command-line-interface

请帮助格式化命令的输出:      Get-AzureRmVMUsage -Location" West US"

现在它显示:

Name                             Current Value Limit  Unit

Availability Sets                           77  322000 Count
Total Regional Cores                      4159  323000 Count
Virtual Machines                           999 32220000 Count

如何管道/过滤它以便它只显示总区域核心的值?

选择姓名显示以下内容:

Get-AzureRmVMUsage -Location "East US" -Verbose | Select Name

Name                                               
----                                               
Microsoft.Azure.Management.Compute.Models.UsageName
Microsoft.Azure.Management.Compute.Models.UsageName

谢谢, 梅德

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令。

(Get-AzureRmVMUsage -Location "East US"|select -ExpandProperty Name).LocalizedValue

这是结果。

enter image description here

根本原因Name包含两个子值:ValueLocalizedValue。如果您直接选择它们,则会获得Microsoft.Azure.Management.Compute.Models.UsageName

更新

  

那么我如何获得与Total Regonal相对应的确切值   芯

只需使用以下命令。

$names= Get-AzureRmVMUsage -Location "East US"
foreach($name in $names) {$results = [pscustomobject]@{'name'=$name.name.LocalizedValue;'value'=$name.CurrentValue};$results}

enter image description here

UPDATE2:

  

有一个Total Regional Cores变量,其值为5 in   你的榜样。我希望格式化显示这个值没有   显示其他任何内容

foreach($name in $names) {$results = [pscustomobject]@{'name'=$name.name.LocalizedValue;'value'=$name.CurrentValue};$results | ?{$_.name -eq 'Total Regional Cores'}}

enter image description here