• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Powershell小技巧之使用WMI工具

    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: ROOT\cimv2

    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(十三) WMI对象介绍
    • 探索PowerShell(十四) 使用WMI对象的方法
    • Powershell小技巧之使用WMI测试服务响应
    • Powershell小技巧之使用WMI查询插上的U盘
    • PowerShell入门教程之访问.Net程序集、COM和WMI实例
    上一篇:PowerShel程序执行完后删除脚本自身的方法
    下一篇:Powershell小技巧之从文件获取系统日志
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Powershell小技巧之使用WMI工具 Powershell,小,技巧,之,使用,