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

如何列出PowerShell对象的所有属性,powershell,Powershell,当我查看时,它会显示大量属性,如Status,PowerManagementCapabilities,等等。但是,在PowerShell中执行以下操作时,我只返回了几个: PS C:\Windows\System32\drivers>Get WmiObject-Class“Win32\u computersystem” 域名:YYY.com 制造商:VMware公司。 型号:VMware虚拟平台 姓名:fqef58 PrimaryOwnerName:授权用户 总物理记忆:2147016704

当我查看时,它会显示大量属性,如
Status
PowerManagementCapabilities
,等等。但是,在PowerShell中执行以下操作时,我只返回了几个:

PS C:\Windows\System32\drivers>Get WmiObject-Class“Win32\u computersystem”
域名:YYY.com
制造商:VMware公司。
型号:VMware虚拟平台
姓名:fqef58
PrimaryOwnerName:授权用户
总物理记忆:2147016704
如何查看所有属性?

试试以下方法:

Get-WmiObject -Class "Win32_computersystem" | Format-List *
Get-WmiObject -Class "Win32_computersystem" | Format-List -Property *
对于某些对象,PowerShell提供了一组可影响表格式或列表格式的格式化说明。这些通常是为了将大量属性的显示限制为仅显示基本属性。然而,有时你真的想看到一切。在这些情况下,
格式列表*
将显示所有属性。请注意,在尝试查看PowerShell错误记录的情况下,需要使用“Format List*-Force”来真正查看所有错误信息,例如

$error[0] | Format-List * -force
请注意,通配符可以像传统的wilcard一样使用,如下所示:

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

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

Get-WmiObject -Class "Win32_computersystem" | Get-Member
您还可以使用:

获取WmiObject-类“Win32_computersystem”|选择*
这将显示与其他答案中使用的格式列表*相同的结果。

我喜欢

 Get-WmiObject Win32_computersystem | format-custom *
这似乎扩大了一切

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

虽然我经常使用

Get-WmiObject Win32_computersystem | fl *

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

最简洁的方法是:

获取WmiObject-类win32\u computersystem-属性*

由于原始问题的措辞,我不会给你打分。但值得指出的是,Get成员不列出属性及其值,而只列出属性/方法名称和类型。这在编写脚本时非常有用,可以了解每个字段包含的数据类型,并列出所有可用的字段名称,而无需提取数据。谢谢这实际上比公认答案中的方法要好,因为使用此方法您仍然拥有丰富的对象,而使用
格式列表
将销毁管道中的所有对象。我更喜欢
获取WmiObject-Class win32\u computersystem-Property*
。这是简短而甜蜜的
格式定制*
似乎是真正显示一切成功的答案,也许,但并不完整。这只列出了最初看到的(5)属性与使用时显示的83属性:Get WMIOObject-Class“Win32_computersystem”| Select*