我需要编写代码来搜索符合特定条件的Windows安全事件并返回事件。我有一个约束,我需要使用VBscript,我不能使用PowerShell。问题是需要搜索的字段之一是“登录类型”(在消息字段中)。这是安全事件中登录类型的示例:
我已经在互联网上查找了一种方法来做到这一点,我唯一能想到的就是使用正则表达式和InStr
函数在Messages
字段内搜索,但是方法将是非常复杂和麻烦的,其他搜索值也是一个因素。作为一个FYI,我需要搜索的另一个值是时间。
或者,有没有办法将所有安全事件从一台机器导出到XML?我没有找到用VBscript做到这一点的方法。
有没有人对如何根据使用VBscript的登录类型最好地过滤邮件有任何建议?
答案 0 :(得分:0)
我不知道如何检查特定登录类型的消息字段会如此复杂。这样的事情就足够了:
Set wmi = GetObject("winmgmts://./root/cimv2")
Set re = New RegExp
re.Pattern = "LogonType:\s+7"
qry = "SELECT * FROM Win32_NTLogEvent WHERE Logfile='Security' AND EventCode=4624"
For Each evt In wmi.ExecQuery(qry)
If re.Test(evt.Message) Then
'do stuff
End If
Next