显示 PowerShell 对象的所有属性

Migel Hewage Nimesha 2023年1月30日 2022年5月31日
  1. 使用 Get-WmiObject 显示 PowerShell 对象的所有属性
  2. 检索类实例/对象信息
  3. 使用 Format-List Cmdlet 显示属性
显示 PowerShell 对象的所有属性

需要查找有关 Windows 机器及其组件(如网络、应用程序和服务)的信息。公共信息模型 (CIM) 是用于操作这些组件及其信息的开源标准。

Microsoft 已在 CIM 之上实施其称为 Windows Management Instrumentation (WMI) 的标准,以查询和操作计算机、服务和网络信息。

使用 Get-WmiObject 显示 PowerShell 对象的所有属性

Get-WmiObject cmdlet 可用于从 WMI 存储库请求信息。此外,它还使你能够使用远程系统。

因此,Windows 系统管理过程变得容易得多。让我们使用 Get-WmiObject cmdlet 检查可用的类。

Get-WmiObject -List

此命令将输出本地计算机默认命名空间中可用的所有类。Windows 计算机中的默认命名空间是 ROOT\cimv2

输出:

Get-WmiObject

可以指定与默认命名空间不同的命名空间 (ROOT\cimv2)。我们可以使用 -Namespace 参数来更改默认命名空间。

Get-WmiObject -Namespace <custom_namespace>

检索类实例/对象信息

有数百个 WMI 类可供使用。我们可以检索给定类的信息,如下所示。

Get-WmiObject -Class Win32_computersystem

在这里,我们正在检索 Win32_computersystem 类的信息。它返回 Win32_computersystem 对象及其属性,如下所示。

Get-WmiObject -Class

输出中显示的属性数量有限。Win32_computersystem 对象包含比这些更多的属性。

我们可以使用 Format-List cmdlet 来显示检索到的对象的所有属性。

使用 Format-List Cmdlet 显示属性

Format-List 可以与另一个命令的输出一起通过管道传输以格式化结果。此 cmdlet 可以显示检索到的 WMI 对象的指定或所有属性。

让我们为 Win32_computersystem 实例指定一些属性。

Get-WmiObject -Class Win32_computersystem | Format-List -Property Name, Model, Manufacturer

输出:

格式列表

Get-WmiObject 返回 Win32_computersystem 对象的默认属性。然后输出将通过管道运算符(|)传递给 Format-List 命令。

我们可以将 -Property 参数传递给 Format-List cmdlet。这将过滤掉具有给定三个属性的最终输出。

有时,检查指定 WMI 对象的所有可用属性和值很重要。在这种情况下,你需要使用 -Property * 来检索所有可用的属性及其值。

* 表示所有属性。

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

输出:

格式列表-属性

输出包含可用于 Win32_computersystem 对象的所有属性和值。我们可以省略上面命令中的 -Property 参数并编写它。

Get-WmiObject -Class Win32_computersystem | Format-List *

上面的命令应该显示与上面相同的输出。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

相关文章 - PowerShell Object