Einzelnen Beitrag anzeigen
Alt 23.03.2012, 10:24   #1 (permalink)
Soman_X
Taschenrechner
 
Benutzerbild von Soman_X
 

Registriert seit: 18.01.2010
Beiträge: 61

Soman_X befindet sich auf einem aufstrebenden Ast

Standard [VB-Script] Fehler bei der Ausführung...aber warum?!

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
Soman_X ist offline   Mit Zitat antworten