VBS bleibt nach Abfrage EventLog in Schleife hängen
Moin.
Gleich vorweg, ich bin ein VBS-Newbie. ;) Ich mache gerade meine ersten Gehversuche, indem ich probiere, bestimmte Einträge aus dem Ereignislog eines anderen Rechners in eine SQL-Datenbank zu klöppeln.
Leider bleibt das Script aber am Ende der ForEach-Schleife hängen. Er trägt den letzten Eintrag ein, er kommt (scheinbar) ans Ende der Schleife und dann.... Stille. Das Test-Yo wird nicht ausgegeben und das Script muss ich aus dem TaskManager killen.
Vielleicht weiß jemand von Euch Rat? Vermutlich ist es nur was ganz Simples...
Gleich vorweg, ich bin ein VBS-Newbie. ;) Ich mache gerade meine ersten Gehversuche, indem ich probiere, bestimmte Einträge aus dem Ereignislog eines anderen Rechners in eine SQL-Datenbank zu klöppeln.
Leider bleibt das Script aber am Ende der ForEach-Schleife hängen. Er trägt den letzten Eintrag ein, er kommt (scheinbar) ans Ende der Schleife und dann.... Stille. Das Test-Yo wird nicht ausgegeben und das Script muss ich aus dem TaskManager killen.
Vielleicht weiß jemand von Euch Rat? Vermutlich ist es nur was ganz Simples...
'*Public Function DBOpen(db_server, db_port, db_user, db_pass, db_name)'* Set conn=CreateObject("ADODB.Connection") strConnectString = "DRIVER={MySQL ODBC 3.51 Driver};" _ & "SERVER=" & db_server & ";" _ & " DATABASE=" & db_name & ";" _ & "UID=" & db_user & ";PWD=" & db_pass & "; OPTION=3" conn.Open strConnectString DBOpen = connEnd Function'#####################################################################Dim objWMIServiceconn = DBOpen ("localhost", 3306, "USER", "PASS", "data")Set rs = CreateObject("ADODB.recordset")rs.Open "SELECT run FROM runs ORDER BY id DESC LIMIT 0,1", connWhile Not (rs.EOF) schranke = rs.Fields("run").Value rs.MoveNextWendstrComputer = "NAME"Set dateTime = CreateObject("WbemScripting.SWbemDateTime") Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")Set colItemsErrors = objWMIService.ExecQuery( "SELECT * FROM Win32_NTLogEvent Where ((Type = 'Fehler' OR Type = 'Warnung' OR Type = 'Warning' OR Type = 'Error') AND TimeGenerated > '"&schranke&"')",,48)For Each item in colItemsErrors dateTime.Value = item.TimeGenerated mysqlStamp = dateTime.Year&dateTime.Month&dateTime.Day&dateTime.Hours&dateTime.Minutes&dateTime.Seconds if (not isnull(item.Message) ) then message = replace(item.Message, "'", "´") message = replace(message, "\", "/") end if sql = "INSERT INTO eventlogs (source, type, date, evlogMessage, evlogID, evlogSource) VALUES ( '"&strComputer&"', '"&item.Type&"', '"&mysqlStamp&"', '"&message&"', '"&item.EventIdentifier&"', '"&item.SourceName&"');" Set rs = CreateObject("ADODB.recordset") rs.Open sql, conn NextWScript.Echo "Yo"Set rs = CreateObject("ADODB.recordset")rs.Open "INSERT INTO runs (run) VALUES ('"&dateTime.Value&"');", connrs.Closeconn.CloseWSCRIPT.QUIT(0)
Please also mark the comments that contributed to the solution of the article
Content-Key: 50869
Url: https://administrator.de/contentid/50869
Printed on: April 23, 2024 at 06:04 o'clock