Powershell的过滤/格式化查询天青

Powershell的过滤/格式化查询天青

问题描述:

时,请帮忙格式化命令的输出: 获取-AzureRmVMUsage -Location“美国西部”Powershell的过滤/格式化查询天青

现在它显示:

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 

感谢, 梅德

+0

出现添加当量,它显示错误 'GET-AzureRmVMUsage -Location“东美” -Verbose |选择名称-eq'Total Regional Cores'' 'Select-Object:找不到与参数名'eq'.'匹配的参数 '在线:1个字符:64' – Dmitry

+0

您应该使用| Where-Object而不是Select-Object,并将其包装在过滤器语句中。请使用这些术语进行一些研究,看看他们是否有所帮助。至于第二个问题,在选择名称时您看到的是Types,您可能需要将Pipe传递给For Each语句,然后从正在返回的UsageName对象中提取一些属性。 –

+0

什么也没有显示,试了一下。研究是一件好事,但我需要一个例子如何工作。 'Get-AzureRmVMUsage -Location“East US”-Verbose | Where-Object $ _。Name -eq'Total Regional Cores'}' – Dmitry

你可以使用下面的命令。

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

这里就是结果。

enter image description here

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

更新:

那么,如何获得对应于总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:

一共是区域核心变量,持有 你的榜样值为5。我想格式化成只显示该值,而不 显示别的

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

enter image description here

+0

那么如何获得与Total Regonal Cores – Dmitry

+0

相对应的确切数值,谢谢您的帮助,而不是它不是我需要的100% 。我希望命令只显示总区域核心的数量,这可以做到吗? – Dmitry

+0

@Dmitry'Total Regional Cores'您的意思是可以在一个地区使用的核心或者核心已经使用了吗? –