如何列出PowerShell对象的所有属性


121

当我看Win32_ComputerSystem类,它表明类似性质的负荷StatusPowerManagementCapabilities等等。然而,当在PowerShell中我做了以下我只拿回一对夫妇:

PS C:\Windows\System32\drivers> Get-WmiObject -Class "Win32_computersystem"

Domain              : YYY.com
Manufacturer        : VMware, Inc.
Model               : VMware Virtual Platform
Name                : LONINEGFQEF58
PrimaryOwnerName    : Authorised User
TotalPhysicalMemory : 2147016704

如何查看所有属性?

Answers:


139

试试这个:

Get-WmiObject -Class "Win32_computersystem" | Format-List *
Get-WmiObject -Class "Win32_computersystem" | Format-List -Property *

对于某些对象,PowerShell提供了一组可能会影响表格式或列表格式的格式说明。这些通常是为了将大量属性的显示限制为基本属性。但是,有时候您确实想看到一切。在那些情况下Format-List *将显示所有属性。请注意,在尝试查看PowerShell错误记录的情况下,需要使用“ Format-List * -Force”来真正查看所有错误信息,例如,

$error[0] | Format-List * -force

请注意,通配符可以像传统通配符一样使用:

Get-WmiObject -Class "Win32_computersystem" | Format-List M*

1
我更喜欢Get-WmiObject -Class win32_computersystem -Property *。它又短又甜
Kolob Canyon

38

如果您想知道哪些属性(和方法):

Get-WmiObject -Class "Win32_computersystem" | Get-Member

6
我不会因为原始问题的措辞而将您打倒。但是值得指出的是,Get-Member不会仅列出属性/方法名称和类型,而是列出属性及其值。
2014年

1
在编写脚本以了解每个字段包含的数据类型并列出所有可用字段名称而无需获取数据时,这非常有用。谢谢!
Yanick Girouard

30

您还可以使用:

Get-WmiObject -Class "Win32_computersystem" | Select *

这将显示与此处其他答案中使用的Format-List *相同的结果。


4
这实际上比接受的答案中的方法更好,因为使用此方法您仍然有丰富的对象,而使用Format-List则会破坏管道中的所有对象。
杰西·韦斯特莱克

7

我喜欢

 Get-WmiObject Win32_computersystem | format-custom *

那似乎扩大了一切。

PowerShellCookbook模块中还有一个show-object命令,可在GUI中执行。PowerShell的创建者Jeffrey Snover在其未插入的视频中使用了它(推荐)。

虽然我经常使用

Get-WmiObject Win32_computersystem | fl *

避免使用.format.ps1xml文件为对象类型定义表或列表视图(如果有)。格式文件甚至可以定义与任何属性名称都不匹配的列标题。


4
format-custom *看来这个答案真的说明一切
克里斯˚F卡罗尔

4

最简洁的方法是:

Get-WmiObject -Class win32_computersystem -Property *

1
也许简洁,但不完整。这仅列出了最初看到的(5)属性与使用时显示的83个属性:Get-WmiObject -Class“ Win32_computersystem” | 选择*
boB
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.