WMI有一組API。我們不管使用VBScript、PowerShell腳本還是利用C#的來訪問WMI的類庫,都是因為WMI向外暴露的一組API。這些API是在系統安裝WMI模塊的時候安裝的,通過他們我們能夠能拿到我們想要的類。
WMI有一個Service。WMI總是能夠響應用戶的訪問,那是因為它有一個一直運行的Windows服務,名字叫Winmgmt。停止這個服務,所有對WMI的操作都將沒有反應。
WMI是可擴展的。人人都知道WMI能干很多事情,讀取本機硬盤信息、讀取遠程計算機的用戶信息、讀取域用戶信息等等。基本上,你能想到的獲取或者更改資源的操作,它都能干。可謂吃得少,干得多。它為什么這么能干呢?這基于WMI的可擴展性。WMI對資源的操作,不是它自己實現了什么方法,而完全取決于向它注冊的提供程序。
strComputer = "."
Set wbemServices = Getobject("winmgmts:\\" strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")
For Each wbemObject In wbemObjectSet
WScript.Echo "Total Physical Memory (kb): " wbemObject.TotalPhysicalMemory
Next