如何判断Win32_NTLogEvent InsertionString是否存在?

时间:2013-03-05 18:37:32

标签: windows events vbscript wmi

我创建了一个VBScript来显示我的系统日志内容。我想要包含InsertionString(如果存在)。但是,我似乎无法确定是否存在InsertionString。这是我的脚本的开头:

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set rs = objWMIService.ExecQuery ("Select * from Win32_NTLogEvent Where Logfile = 'System' and SourceName = 'mysource'")
For Each objEvent in rs
    If objEvent.InsertionString exists....

我尝试了几种变体来确定是否存在InsertionString,但没有成功,包括:

If Not IsNull(objEvent.InsertionString) Then
If objEvent.InsertionString.Length > 0 Then
If GetLength(objEvent.InsertionString(1)) > 0 Then
If objEvent.InsertionString(1).Length > 0 Then

任何建议都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:2)

您在InsertionString属性名称InsertionStrings中拼写错误。  所以这段代码可以正常工作

 If not IsNull(objEvent.InsertionStrings) Then

注意:InsertionStrings属性是一个字符串数组,因此您可以使用For Each循环或UBoundLBound函数迭代该属性。