2011-08-31 67 views
77

当我看Win32_ComputerSystem class,它显示了像StatusPowerManagementCapabilities等。然而,当在PowerShell中我做了以下我只拿回几个属性的负荷:如何列出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 

我怎么能看到所有属性?

回答

88

试试这个:

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 

注意通配符可以像传统wilcard使用这样的:

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

。这是短而甜的 –

23

如果你想知道什么属性(和方法)有:

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

因为原来的问题的措辞,我不会标记你。但值得指出的是,Get-Member并没有列出属性及其值只是属性/方法的名称和类型。 – rob

20

你可以也可用

Get-WmiObject -Class "Win32_computersystem" | Select * 

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

+2

这实际上比接受的答案中的方法更好,因为使用这种方法你仍然有丰富的对象,而使用'Format-List'将销毁管道中的所有对象。 –

1

我喜欢

Get-WmiObject -Class "Win32_computersystem" | format-custom * 

这似乎扩大了一切。

在PowerShellCookbook模块中还有一个show-object命令,它可以在gui中执行。 Powershell创作者Jeffrey Snover在他的拔下的视频中使用它(推荐)。

+0

'format-custom *'似乎是_really_显示所有内容的答案 –

2

最简洁的方式做到这一点:我更喜欢'GET-WmiObject可以-Class的Win32_ComputerSystem -Property *`

Get-WmiObject -Class win32_computersystem -Property * 
相关问题