Powershell小技巧之使用WMI工具_PowerShell教程-查字典教程网
Powershell小技巧之使用WMI工具
Powershell小技巧之使用WMI工具
发布时间:2016-12-28 来源:查字典编辑
摘要:WMI是一个强大的技术:只需要简单的指定一个WMI类名就能返回它类的所有实例:复制代码代码如下:PS>Get-WmiObject-Class...

WMI是一个强大的技术:只需要简单的指定一个WMI类名就能返回它类的所有实例:

复制代码 代码如下:

PS> Get-WmiObject -Class Win32_BIOS

SMBIOSBIOSVersion : 76CN27WW

Manufacturer : LENOVO

Name : 76CN27WW

SerialNumber : 1006250300406

Version : LENOVO - 1

你如何知道它有哪些类呢?这里有一款查找工具:

复制代码 代码如下:

function Find-WMIClass

{

param

(

[Parameter(Mandatory=$true)]

$SearchTerm = 'Resolution'

)

Get-WmiObject -Class * -List |

Where-Object { $_.Properties.Count -ge 3 } |

Where-Object { $_.Name -notlike 'Win32_Perf*' } |

Where-Object {

$ListOfNames = $_.Properties | Select-Object -ExpandProperty Name

($ListOfNames -like "*$SearchTerm*") -ne $null

} |

Sort-Object -Property Name

}

设置搜索条件后,代码将搜索出包含指定属性名的类(还可以通过通配符扩大搜索范围)

下面将找出所有包含“resolution”结尾的WMI类:

复制代码 代码如下:

PS> Find-WMIClass -SearchTerm *resolution

NameSpace: ROOTcimv2

Name Methods Properties

---- ------- ----------

CIM_CacheMemory {SetPowerState, R... {Access, AdditionalErr...

CIM_CurrentSensor {SetPowerState, R... {Accuracy, Availabilit...

CIM_FlatPanel {SetPowerState, R... {Availability, Caption...

CIM_Memory {SetPowerState, R... {Access, AdditionalErr...

CIM_MonitorResolution {} {Caption, Description,...

CIM_NonVolatileStorage {SetPowerState, R... {Access, AdditionalErr...

CIM_NumericSensor {SetPowerState, R... {Accuracy, Availabilit...

CIM_PCVideoController {SetPowerState, R... {AcceleratorCapabiliti...

CIM_PointingDevice {SetPowerState, R... {Availability, Caption...

CIM_Printer {SetPowerState, R... {Availability, Availab...

CIM_Tachometer {SetPowerState, R... {Accuracy, Availabilit...

CIM_TemperatureSensor {SetPowerState, R... {Accuracy, Availabilit...

CIM_VideoController {SetPowerState, R... {AcceleratorCapabiliti...

CIM_VideoControllerResolution {} {Caption, Description,...

CIM_VolatileStorage {SetPowerState, R... {Access, AdditionalErr...

CIM_VoltageSensor {SetPowerState, R... {Accuracy, Availabilit...

Win32_CacheMemory {SetPowerState, R... {Access, AdditionalErr...

Win32_CurrentProbe {SetPowerState, R... {Accuracy, Availabilit...

Win32_DisplayControllerConfigura... {} {BitsPerPixel, Caption...

Win32_MemoryArray {SetPowerState, R... {Access, AdditionalErr...

Win32_MemoryDevice {SetPowerState, R... {Access, AdditionalErr...

Win32_NetworkAdapterConfiguration {EnableDHCP, Rene... {ArpAlwaysSourceRoute,...

Win32_PointingDevice {SetPowerState, R... {Availability, Caption...

Win32_Printer {SetPowerState, R... {Attributes, Availabil...

Win32_PrinterConfiguration {} {BitsPerPel, Caption, ...

Win32_SMBIOSMemory {SetPowerState, R... {Access, AdditionalErr...

Win32_TemperatureProbe {SetPowerState, R... {Accuracy, Availabilit...

Win32_VideoConfiguration {} {ActualColorResolution...

Win32_VideoController {SetPowerState, R... {AcceleratorCapabiliti...

Win32_VoltageProbe {SetPowerState, R... {Accuracy, Availabilit...

接着,就可以使用类名查看它的有效数据啦:

复制代码 代码如下:

PS> Get-WmiObject -Class CIM_CacheMemory | Select-Object -Property *

心得:

其实有个类似功能的图形工具比这段代码更方便更直观,它叫ScriptomaticV2。

支持Powershell所有版本

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新PowerShell学习
    热门PowerShell学习
    脚本专栏子分类