显示 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
。
输出:
可以指定与默认命名空间不同的命名空间 (ROOT\cimv2
)。我们可以使用 -Namespace
参数来更改默认命名空间。
Get-WmiObject -Namespace <custom_namespace>
检索类实例/对象信息
有数百个 WMI 类可供使用。我们可以检索给定类的信息,如下所示。
Get-WmiObject -Class Win32_computersystem
在这里,我们正在检索 Win32_computersystem
类的信息。它返回 Win32_computersystem
对象及其属性,如下所示。
输出中显示的属性数量有限。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 *
上面的命令应该显示与上面相同的输出。
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.