標籤:
Option Explicit
'WMI物件模型以及參考手冊在MSDN2001中的位置:'Platform SDK' ->Setup and System Administration' ->Windows Management Instrumentation' ->WMI Reference' ->Scripting API for WMI
'對於Visual Stdio 2008:
'ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/wmisdk/wmi/wmi_start_page.htm 'SWbemLocator類用來串連WMI,並返回WbemServices對象Dim objSWbemLocatorSet objSWbemLocator=CreateObject("WbemScripting.SWbemLocator") 'WbemServices類用來執行命名空間下的各種操作Dim objSWbemServices'命名空間和類可以用WMI Object Browser來查看,WMI Object Browser是WMI Tools中的一部分。':http://www.microsoft.com/downloads/details.aspx?familyid=6430F853-1120-48DB-8CC5-F2ABDC3ED314&displaylang=en '通過ConnectServer串連到本機(.)'root\CIMV2命名空間下有Windows的各種軟體,硬體資訊Set objSWbemServices=objSWbemLocator.ConnectServer(".","root\CIMV2") 'SWbemObjectSet類是SWbemObject對象的集合Dim objSWbemObjectSet'除了使用InstancesOf之外,還可以使用SWbemServices.ExecQuery方法,ExecQuery方法支援WQL查詢語言。'WQL查詢語言具有與SQL一致的文法,非常強大'我們可以形象的認為每個WMI對象都是一個資料庫的“表”'比如這裡我們可以用"Select * From Win32_BIOS"。Set objSWbemObjectSet=objSWbemServices.InstancesOf("Win32_BIOS") Dim strBiosInfostrBiosInfo="" 'SWbemObject用來表示一個WMI對象'在這裡它是一個Win32_BIOS執行個體,就是說objSWbemObject就是一個Win32_BIOS類的對象Dim objSWbemObjectFor Each objSWbemObject In objSWbemObjectSet '下面我們輸出Win32_BIOS的各種屬性 strBiosInfo = strBiosInfo & "Name: " & objSWbemObject.Name & VbCrLf _ & "Manufacturer: " & objSWbemObject.Manufacturer & VbCrLf _ & "Version: " & objSWbemObject.Version & VbCrLf _ & "CurrentLanguage: " & objSWbemObject.CurrentLanguageNext WScript.Echo strBiosInfo
在我的系統上輸出:
Name: Award Modular BIOS v6.00PG
Manufacturer: Award Software International, Inc.
Version: GBT - 42302e31
CurrentLanguage: n|US|iso8859-1
通過一個具體執行個體來理解WMI指令碼編程-讀取BIOS資訊