WMI即Windows管理規范,是用戶管理本地和遠程計算機的一種模型。通過它可以訪問、配置、管理和監視幾乎所有的 Windows 資源。WMI的語法十分簡單,基本上常見的命名空間、對象等用幾乎一模一樣。它對應的是Windows里的WMI服務(winmgmt)

  WMI實際是由兩部分組成:CIM庫和WMI腳本對象庫。在具體使用過程中,我們是通過WMI腳本對象庫去訪問CIM庫,管理托管的資源。也就是說,在我們編寫腳本的過程大致可以分為這么幾步:

  1)創建WMI對象腳本庫的指針實例;

  2)調用其實例的方法,連接到CIM庫,并指明需要訪問的資源的邏輯位置;

  3)獲得托管資源也就是類的實例的集合;

  4)枚舉實例,完成工作

  WMI的命名空間共有16個,不過我們常用的只有兩個:

  1)root\cimv2  在這個命名空間里包括了絕大多數與計算機、操作系統相關聯的類。

  2)root\default  管理注冊表的類

  給出兩個實例參考:

  在日志報告中記錄測試機器的地址:

 

Public Function GetIP()
 '獲取測試機器的IP
  ComputerName="."
  Dim objWMIService,colItems,objItem,objAddress
 Set ōbjWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
  Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
 For Each objItem in colItems
     For Each objAddress in objItem.IPAddress
         If objAddress <> "" Then
           GetIP = objAddress
           Exit Function
         End If
     Next
  Next
End Function

  如何在判斷進程是否存在:

Function ProcessExist(processName)
  For each Process in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_process")
   If Process.Name = processName Then
     ProcessExist = True
     Exit Function
  End If
 Next
 ProcessExist = False
End Function