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

当我查看 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

我怎样才能看到所有的属性?

281252 次浏览

试试这个:

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*

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

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

你亦可使用:

Get-WmiObject -Class "Win32_computersystem" | Select *

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

我喜欢

 Get-WmiObject Win32_computersystem | format-custom *

这似乎扩大了一切。

PowerShellCookbook 模块中还有一个 show-object 命令,它在 GUI 中完成这项工作。PowerShell 的创建者 Jeffrey Snovo 在他的未插入视频中使用了它(推荐使用)。

虽然我经常用

Get-WmiObject Win32_computersystem | fl *

它避免了。Ps1xml 文件,定义对象类型的表或列表视图(如果有的话)。格式化文件甚至可以定义与任何属性名称都不匹配的列标题。

最简洁的方法是:

Get-WmiObject -Class win32_computersystem -Property *

您可以使用四种方法列出对象的所有属性

方法 -1: 格式-表格

Get-Process | Format-Table -Property * -Wrap | Out-File abc.txt -Width 5000
OR
Get-Process | Format-Table * -Wrap | Out-File abc.txt -Width 5000
OR
Get-Process | FT * -Wrap | Out-File abc.txt -Width 5000

方法 -2: 格式-清单

Get-Process | Format-List -Property *
OR
Get-Process | Format-List *
OR
Get-Process | FL *

方法 -3: ConvertTo-Html

Get-Process | ConvertTo-Html | Out-File services1.html ; invoke-item services1.html

方法4: Out-GridView

Get-Process | Select * | Out-GridView

比较结果以显示参数使用情况:

  • Format-Table/Format-List如果想包含所有列,那么始终使用 -Property *参数

  • Format-Table总是使用 Out-File捕获文件的输出,因为如果在屏幕上显示结果,有时候不会包含所有列。

  • FormatTable始终使用 -Width参数指定合理的宽度,否则列值将被截断。

enter image description here

  • Format-Table总是使用-包装,以便列大文本不修剪,但显示在多行中的长列。

enter image description here

  • 具有集合的 CovertTo-Html属性将只显示 Collection 的 Type Name,而不显示集合项的逗号分隔值。此显示与 Format-Table、 Format-List 和 ConvertTo-Html 在集合中显示属性的方式略有不同

enter image description here