【发布时间】:2019-02-21 07:00:15
【问题描述】:
我正在尝试编写一个 powershell 查询以返回下表:
NAME STATUS RESOURCE GROUP VMSIZE SIZEREASON (TAG) LOCATION PUBLIC DNS NAME
我可以使用Get-AzureRmVM | Select-Object Name, ResourceGroupName, Location,但是当我尝试添加 VmSize 时,该列存在但没有值。
如果我只运行Get-AzureRmVM,那么我会得到 VmSize,所以我不明白为什么我不能选择它。
我还需要弄清楚如何添加 Status、SIZEREASON (TAG)、PUBLIC DNS NAME
非常感谢任何指导。
还值得注意的是,我的表还需要包含资源托管 VM 和经典 VM(即所有 VM)
更新
我的 Powershell 查询当前是:
Get-AzureRmVm `
| Select-Object ResourceGroupName `
, Name `
, Location `
, @{Name="VmSize"; Expression={$_.ToPSVirtualMachine().HardwareProfile.VmSize}} `
, @{Name="SizeReason(Tag)"; Expression={$_.ToPSVirtualMachine().Tags.Values}} `
, FullyQualifiedDomainName `
| Format-Table
突出的问题是:
- FullyQualifiedDomainName 不起作用
- 我也缺少状态(例如:正在运行、已停止(已释放)等)
【问题讨论】:
-
查看
Get-AzureRmVM | Get-Member的输出 -
我也这样做了,但是我看不到一个名为 VmSize 的属性,即使只是运行“Get-AzureRmVM”给了我 VmSize
标签: powershell azure-powershell