自動化物件指令碼的使用範例

以下指令碼連接了 excel 自動化物件、建立新工作表,並匯出了服務清單及其各自的狀態。 該指令碼需要 Excel 和 WMI。

附註

需要在 Windows 2000 以上的版本中預先安裝 Windows Management Instrumentation。 必須將其安裝在 Windows 9x 和 Windows NT 上。下載連結:http://go.gfi.com/?pageid=_wmi

Function 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 ("錯誤1 無法建立 WMI 物件")

Else

Set excel = CreateObject("Excel.application")

'連線到 Excel 自動化物件

If excel is Nothing Then

Echo("無法建立 Excel 物件")

Else

'顯示 excel 的版本

echo ("以此 Excel 版本初始化工作階段: "&excel.version)

'新增活頁簿

Set book = excel.workbooks.add

'向活頁簿中新增工作表

Set sheet = Book.Worksheets.add

sheet.cells(1,1) = "此工作表是以 GFI LanGuard 指令碼所建立"

'設定列名稱

sheet.cells(3,1) = "服務名稱"

sheet.cells(3,2) = "狀態"

sheet.cells(3,3) = "已啟動"

'擷取服務資訊

Set wmiinst=wmiobj.instancesof("Win32_Service")

If wmiinst is Nothing Then

echo ("錯誤2: 無法擷取服務資訊")

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

下一步

'自動調整資料行

sheet.columns.AutoFit

'顯示 excel 工作表

sheet.application.visible = true

End If

End If

End If

End Function