自動化物件指令碼的使用範例
以下指令碼連接了 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