WMI入門(二):如何使用WMI


  知道了WMI是什么以后,肯定想要知道如何使用WMI干活。它能寫“Hello World”嗎?WMI沒那么無聊,它一上來就會問你“你想要什么?”或者“你想要更改什么?”。。。

WMI工具

  Windows本身提供了幾個WMI工具供用戶使用,包括WMIC.exe、WBEMTest.exe和WMI Administrative Tools等。前兩個是系統自帶的,最后一個需要自己下載安裝。不過說實話,我最喜歡WMI Administrative Tools。下載WMI Administrative Tools在這里。下面以WMI Administrative Tools為例說明如何使用工具使用WMI。

  下載並安裝WMI Administrative Tools之后,會有4個工具,最常用的是其中的WMI CIM Studio。在開始菜單里單擊它,你會發現它是以網頁形式在IE瀏覽器中打開的。

使用步驟如下:

  1、單擊頁面上部的電腦圖標,會顯示一個對話框,單擊“Connect”按鈕,如圖1所示;

image

            圖1

  2、任何時候出現如圖2所示的登陸對話框,單擊OK按鈕即可;

image

            圖2

  3、選擇合適的命令空間(這里選擇常用的root\cimv2),然后單擊OK按鈕,如圖3所示;

image

            圖3

  4、直接雙擊右側類名,或者單擊上部的望遠鏡按鈕,在彈出的查找對話窗中輸入你要查找的完整類名或者類名的一部分,單擊Go按鈕查找;並在查找結果中選擇你要查看的類名,單擊OK按鈕,如圖4所示;

image

            圖4

  5、單擊右上部倒數第4個實例按鈕,即可得到本機所有安裝的軟件列表,如圖5所示;

image

            圖5

任何WMI類以及實例的查看均可參考以上步驟。 

腳本操作WMI

  以前對WMI的操作都是通過VB Script進行的,現在更多人傾向於使用PowerShell來訪問WMI類和對象。下面給出使用PowerShell命令查詢本機安裝的所有軟件列表的示例:

PS C:\Users\luke> Get-WmiObject -Class Win32_Product | select name

name
----
HelpDesk
Windows Installer Clean Up
XML Notepad 2007
Microsoft Network Monitor 3.4
Microsoft Visual Studio 2010 Service Pack 1
ScreenRecorder
Microsoft Office Visual Web Developer 2007
Microsoft Office Visual Web Developer MUI (English) 2007
...

比使用帶界面的WMI要簡單的多,而且還可以有很多篩選條件。

.Net操作WMI

  使用.Net中的高級語言來操作WMI也非常的方便。下面示例演示C#操作WMI獲得本機安裝軟件的列表的代碼:

using System;
using System.Management;

namespace WMIDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementPath wmiPath = new ManagementPath(@"\\.\root\cimv2:Win32_Product");
            ManagementClass wmiClass = new ManagementClass(wmiPath);

            ManagementObjectCollection instances = wmiClass.GetInstances();

            Console.WriteLine("Name, Vendor");
            foreach (ManagementObject product in instances)
            {
                Console.WriteLine(String.Format("{0}, {1} ", product["Name"], product["Vendor"]));
            }
        }
    }
}

結語  

  WMI是一個多面手,你個可以從各個測面來使用它。套用一句廣告詞:關於WMI,你怎么用?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM