【发布时间】:2018-01-02 00:25:53
【问题描述】:
请帮助格式化命令的输出: 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
谢谢, 德米特里
【问题讨论】:
-
添加 -eq 时报错
Get-AzureRmVMUsage -Location "East US" -Verbose | Select Name -eq 'Total Regional Cores'Select-Object : A parameter cannot be found that matches parameter name 'eq'.At line:1 char:64 -
你应该使用 | Where-Object 而不是 Select-Object,并将其包装在过滤器语句中。请使用这些术语进行一些研究,看看它们是否有帮助。至于第二个问题,您在选择名称时会看到类型,您可能需要通过管道连接到 For Each 语句,然后从正在返回的 UsageName 对象中提取一些属性。
-
什么也没显示,以前试过。研究是件好事,但我需要一个例子,它是如何工作的。
Get-AzureRmVMUsage -Location "East US" -Verbose | Where-Object $_.Name -eq 'Total Regional Cores'}
标签: powershell azure filter command-line-interface