标签:
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 Browser是WMI Tools中的一部分。
'通过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://www.cnblogs.com/dgx/p/5491525.html