自动化对象脚本的使用示例

以下脚本连接了 excel 自动化对象,创建了新表,并导出了服务列表及其各自的状态。 该脚本需要 Excel 和 WMI。

需要在 Windows 2000 以上的版本中预先安装 Windows Management Instrumentation。 必须将其安装在 Windows 9x 和 Windows NT 上。下载链接:http://go.gfi.com/?pageid=_wmi

函数 Main

将 excel 作为脚本所需要的创建对象

Dim book As Object

Dim sheet As Object

Dim range As Object

Dim columns As Object

Dim wmiobj As Object

Dim objswbemobject As Object

strComputer = "127.0.0.1"

Set wmiobj = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

'获取允许检索各种信息的 wmi 对象

If wmiobj is Nothing Then

echo ("Error1 无法创建 WMI 对象")

Else

Set excel = CreateObject("Excel.application")

'连接到 Excel 自动化对象

If excel is Nothing Then

Echo("无法创建 Excel 对象")

Else

'显示 excel 的版本

echo ("initalised session with Excel Version "&excel.version)

'添加工作簿

Set book = excel.workbooks.add

'向工作簿中添加工作表

Set sheet = Book.Worksheets.add

sheet.cells(1,1) = "This Sheet has been generated from with a GFI LanGuard Script"

'设置列名称

sheet.cells(3,1) = "服务名称"

sheet.cells(3,2) = "State"

sheet.cells(3,3) = "Started"

'检索服务信息

Set wmiinst=wmiobj.instancesof("Win32_Service")

If wmiinst is Nothing Then

echo ("error2: 无法检索服务信息")

Else

lnpos = 4

For Each objswbemobject In wmiinst

'循环所有服务对象

lnpos = lnpos + 1

sheet.cells(lnpos,1) = objswbemobject.DisplayName

'将服务信息输入到 excel 表中

sheet.cells(lnpos,2) = objswbemobject.State

sheet.cells(lnpos,3) = objswbemobject.Started

Next

'自动适配列

sheet.columns.AutoFit

'显示 excel 表

sheet.application.visible = true

End If

End If

End If

End 函数