Ich habe ein "kleines" VB-Script geschrieben, welches auf den Servern wöchentlich nen Dump vom Eventlog speichert.
Nun wirft er aber beim Ausführen folgenden Fehler:
Line: 80 Char: 2 Error: Ungültiger Prozeduraufruf oder ungütiges Argument Code: 800A0005
Ich als relativer VB-Newbie fühle mich da etwas hilflos^^
Anbei der relevante Scriptausschnitt... ich habe schon rausgefunden, dass die eigentliche Logmessage "objEvent.Message" das problem auf irgendeine Weise verursacht... hänge ich das nicht an den String, gibt es keinen Fehler.
Das skurille: Die Datei wird trotzdem
komplett erzeugt oO
Code:
'Save Eventlog for the LAST month
'================================
'Build Textfile
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where LogFile='Application'")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\" & monthLast & "_" & yearLast & ".txt")
'Loop through eventlog
For Each objEvent in colEvents
strTimeWritten = objEvent.TimeWritten
dtmTimeWritten = CDate(Mid(strTimeWritten, 5, 2) & "/" & _
Mid(strTimeWritten, 7, 2) & "/" & Left(strTimeWritten, 4) _
& " " & Mid (strTimeWritten, 9, 2) & ":" & _
Mid(strTimeWritten, 11, 2) & ":" & Mid(strTimeWritten, 13, 2))
'Build Output String
If Left(FormatDateTime(dtmTimeWritten), 2) = buffer Then
strEvent = FormatDateTime(dtmTimeWritten) & vbTab
strEvent = strEvent & objEvent.SourceName & vbTab
strEvent = strEvent & objEvent.Type & vbTab
strEvent = strEvent & objEvent.Category & vbTab
strEvent = strEvent & objEvent.EventCode & vbTab
strEvent = strEvent & objEvent.User & vbTab
strEvent = strEvent & objEvent.ComputerName & vbTab
strDescription = objEvent.Message
If IsNull(strDescription) Then
strDescription = "The event description cannot be found."
End If
strDescription = Replace(strDescription, vbCrLf, " ")
strEvent = strEvent & objEvent.Message & vbTab '<=== hier kommt objEvent.Message
objFile.WriteLine(strEvent) '<=== Zeile 80
End If
Next
objFile.Close