知道了WMI是什么以后,肯定想要知道如何使用WMI干活。它能寫“Hello World”嗎?WMI沒那么無聊,它一上來就會問你“你想要什么?”或者“你想要更改什么?”。。。
Windows本身提供了幾個WMI工具供用戶使用,包括WMIC.exe、WBEMTest.exe和WMI Administrative Tools等。前兩個是系統(tǒng)自帶的,最后一個需要自己下載安裝。不過說實話,我最喜歡WMI Administrative Tools。下載WMI Administrative Tools在這里。下面以WMI Administrative Tools為例說明如何使用工具使用WMI。
下載并安裝WMI Administrative Tools之后,會有4個工具,最常用的是其中的WMI CIM Studio。在開始菜單里單擊它,你會發(fā)現(xiàn)它是以網(wǎng)頁形式在IE瀏覽器中打開的。
4、直接雙擊右側(cè)類名,或者單擊上部的望遠鏡按鈕,在彈出的查找對話窗中輸入你要查找的完整類名或者類名的一部分,單擊Go按鈕查找;并在查找結(jié)果中選擇你要查看的類名,單擊OK按鈕,如圖4所示;
以前對WMI的操作都是通過VB Script進行的,現(xiàn)在更多人傾向于使用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
...
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"]));
}
}
}
}