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 objSWbemLocator
Set objSWbemLocator=CreateObject("WbemScripting.SWbemLocator")
 
'WbemServices类用来执行命名空间下的各种操作
Dim objSWbemServices
'命名空间和类可以用WMI Object Browser来查看,WMI Object BrowserWMI 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 strBiosInfo
strBiosInfo=""
 
'SWbemObject用来表示一个WMI对象
'在这里它是一个Win32_BIOS实例,就是说objSWbemObject就是一个Win32_BIOS类的对象
Dim objSWbemObject
For Each objSWbemObject In objSWbemObjectSet
    '下面我们输出Win32_BIOS的各种属性
    strBiosInfo = strBiosInfo & "Name: " & objSWbemObject.Name & VbCrLf _
                                                & "Manufacturer: " & objSWbemObject.Manufacturer & VbCrLf _
                                                & "Version: " & objSWbemObject.Version & VbCrLf _
                                                & "CurrentLanguage: " & objSWbemObject.CurrentLanguage
Next
 
WScript.Echo strBiosInfo
 
在我的系统上输出:
Name: Award Modular BIOS v6.00PG
Manufacturer: Award Software International, Inc.
Version: GBT - 42302e31
CurrentLanguage: n|US|iso8859-1


 


本文链接地址: 通过一个具体实例来理解WMI脚本编程-读取BIOS信息
http://qingfengju.com/index.asp?id=60

分类:脚本编程 查看次数:10050 发布时间:2009-6-1 10:58:18