我一直在試圖找出一個解決以下問題:日誌分析器VBScripting問題
我一直在建立一個VBScript來把使用 窗戶
LogParser
2.2工具一系列的安全審計事件。腳本的目的是分析審計日誌從已經收集和「保存關」
evt(x)
文件每週一次的審計文件夾結構內。想象一下 ,您正在處理的是整個網絡的Windows系統,其WMI服務 已在運行,每週收集這些日誌以供審閱。因此,文件夾 結構在每週保持一致(例如/../audits/date/windows/XXX.evt
)。這些每週審計文件的摘要文件是基於文本的,這不利於每週審計數百臺機器的 。
我已經算出了基本的語法,這樣我就可以將事件拉出來並將它們輸出到html,並且帶有 任何問題。我的奮鬥伴隨着添加我需要的額外功能。
該腳本需要以下功能:
在啓動時,它需要提示用戶他們想要 解析從(如
../2013-07-03/windows/*
)- 審計數據中輸入文件路徑
用戶的響應需要綁定到一個值,並用於替換我在整個腳本中指定的變量 。期望的結果是 腳本在用戶標識的位置處啓動腳本中的查詢事件。
我一直在使用一個輸入框用正則表達式對象試過了,我不能拿到劇本要經過和替換變量(
filePathReplace
),以便將運行該腳本我指定在查詢事件。
如果使用或不使用一個輸入框,我不在乎。比任何東西,我只需要一種方法爲腳本提供一個文件路徑,並將其應用於整個腳本,以便logparser在特定文件夾中啓動我的指令。
我所擁有的摘錄如下。任何和所有的幫助,不勝感激。謝謝大家的時間。
代碼摘錄(這是腳本的核心部件和審計的事件之一)
Dim oLogQuery
Dim oEVTInputFormat
Dim oTPLOutputFormat
Dim strQuery
Set oLogQuery = CreateObject("MSUtil.LogQuery")
' Create Input Format object
Set oEVTInputFormat = CreateObject("MSUtil.LogQuery.EventLogInputFormat")
oEVTInputFormat.direction = "BW"
' Create Output Format object
Set oTPLOutputFormat = CreateObject("MSUtil.LogQuery.TemplateOutputFormat")
' Create query text (the variable substitution should occur where I state
' filePathReplace. To make the script run without this function, subsitiute
' that variable for 'Security'
' Audit log clearing - 517
oTPLOutputFormat.tpl = "C:\Program Files\Log Parser 2.2\EventFilters\EventLogs-TPL-517.tpl"
strQuery = "SELECT TimeGenerated, EventID, " & _
"EXTRACT_TOKEN (Strings,3,'|') AS clientUserName, " & _
"EXTRACT_TOKEN (Strings,4,'|') AS hostName, " & _
"EXTRACT_TOKEN (Message,0,'Primary User Name') AS Message " & _
"INTO 'C:\Program Files\Log Parser 2.2\EventFilters\AuditLogCleared-517.htm' " & _
"FROM 'filePathReplace' " & _
"WHERE EventID = 517"
oLogQuery.ExecuteBatch strQuery, oEVTInputFormat, oTPLOutputFormat
非常感謝你的幫助! –
請避免張貼「謝謝」意見。在SO上表達感謝的正確方式是upvote和/或[接受](http://meta.stackexchange.com/a/5235)答案。 –