Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst VBS - Eventlog-Einträge (Application- und Systemlog) der letzten 24 h anzeigen

Mitglied: TuXHunt3R

TuXHunt3R (Level 3) - Jetzt verbinden

14.02.2008, aktualisiert 18.10.2012, 8692 Aufrufe, 10 Kommentare

Hallo ans Forum

Wie liest man mit VBS das Eventlog eines Remotecomputers aus?
Konkret will ich alle Warnungen und Errors der letzen 24h des Zielsystems angezeigt bekommen, und zwar die des Application- und des Systemlogs.
Wie geht das?

Bei Batch gehts mit dem Tool dumpel.exe, aber ich möchte von Batch endlich mal wegkommen....

Danke im Voraus


Gruss TuXHunT3R

Edit:
Falls die Unterscheidung von Application und Systemlog zu kompliziert wird, reicht es auch, wenn einfach von allen Logs die Warnungen und Errors herausgelesen werden.
Mitglied: bastla
14.02.2008 um 22:14 Uhr
Hallo TuXHunt3R!

Als Basis (mit ein wenig Formatierung):
01.
strComputer = "Remotecomputer" 
02.
strPath = "D:\Eventlog_EW.csv" 
03.
strDelim = ";" 
04.
intDays = 1 'ab gestern (Datum - 1) 
05.
 
06.
strDate = CStr(Mid(Date - intDays, 7, 4)) & CStr(Mid(Date - intDays, 4, 2)) & CStr(Mid(Date - intDays, 1, 2)) 
07.
 
08.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
09.
Set objFile = objFSO.CreateTextFile(strPath, True) 
10.
 
11.
Set objWMI = GetObject("winmgmts:" & _ 
12.
	"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
13.
Set colLoggedEvents = objWMI.ExecQuery _ 
14.
	("Select * from Win32_NTLogEvent Where " & _ 
15.
	"(Logfile = 'System' Or LogFile = 'Application') And " & _ 
16.
	"EventType < '3' And TimeWritten > '" & strDate & "'") 'nur Typ 1 (Error) und 2 (Warning) 
17.
 
18.
For Each objEvent in colLoggedEvents 
19.
	With objEvent 
20.
		strLine = .Logfile 
21.
		Select Case LCase(.Type) 
22.
		Case "error" 
23.
			strLine = strLine & strDelim & "Fehler" 
24.
		Case "warning" 
25.
			strLine = strLine & strDelim & "Warnung" 
26.
		Case Else 'dürfte hier nicht vorkommen 
27.
			strLine = strLine & strDelim & "Anderer" 
28.
		End Select 
29.
		strLine = strLine & strDelim & Mid(.TimeWritten, 7, 2) & "." & Mid(.TimeWritten, 5, 2) & "." & Mid(.TimeWritten, 1, 4) 
30.
		strLine = strLine & strDelim & Mid(.TimeWritten, 9, 2) & ":" & Mid(.TimeWritten, 11, 2) & ":" & Mid(.TimeWritten, 13, 2) 
31.
		strLine = strLine & strDelim & .SourceName 
32.
		If .Category <> "0" Then 
33.
			strLine = strLine & strDelim & .Category 
34.
		Else 
35.
			strLine = strLine & strDelim & "Keine" 
36.
		End If 
37.
		strLine = strLine & strDelim & .EventCode 
38.
		If .User <> "" Then 
39.
			strLine = strLine & strDelim & .User 
40.
		Else 
41.
			strLine = strLine & strDelim & "Nicht zutreffend"		 
42.
		End If 
43.
		strLine = strLine & strDelim & .ComputerName 
44.
	End With 
45.
	'WScript.Echo strLine 'zum Testen über cscript.exe 
46.
	objFile.WriteLine strLine 
47.
Next 
48.
objFile.Close
Zur Vereinfachung (nur Datumsabfrage) werden alle Events seit gestern (und demnach < 48 Stunden) erfasst.

Noch ein paar Links:
Win32_NTLogEvent Class
How Can I Retrieve Just Audit Failures, Warnings, and Errors from My Event Logs?
Guy's Scripting Ezine 39 - WMI and Event Logs

Grüße
bastla
Bitte warten ..
Mitglied: TuXHunt3R
15.02.2008 um 13:03 Uhr
Danke, werds testen. Gebe dir heute oder morgen Bescheid.
Bitte warten ..
Mitglied: TuXHunt3R
18.02.2008 um 12:26 Uhr
Konnte es leider noch nicht testen. Dauert noch ein Weilchen.....
Bitte warten ..
Mitglied: TuXHunt3R
23.02.2008 um 17:55 Uhr
Hallo bastla

Könntest du mir diese Zeile ein bisschen ausdeutschen?
01.
strDate = CStr(Mid(Date - intDays, 7, 4)) & CStr(Mid(Date - intDays, 4, 2)) & CStr(Mid(Date - intDays, 1, 2))
Begreif ich nicht ganz......
Bitte warten ..
Mitglied: bastla
23.02.2008 um 18:14 Uhr
Hallo TuXHunt3R!

Ist ein wenig schwer zu erklären, weil sie eigentlich so aussehen sollte:
01.
strDate = Mid(CStr(Date - intDays), 7, 4) & Mid(CStr(Date - intDays), 4, 2) & Mid(CStr(Date - intDays), 1, 2)
Oder noch besser so:
01.
dtAbDatum = Date - intDays ' ab welchem Datum (Heute - intDays) soll das Log ausgewertet werden - Ergebnis im Format "TT.MM.JJJJ" 
02.
strAbDatum = CStr(dtAbDatum) ' diese Datumsangabe in einen String umwandeln ... 
03.
'  ... und diesen zerlegen und neu zusammensetzen, damit das Datum in der Form "JJJJMMTT" zur Verfügung steht 
04.
strDate = Mid(strAbDatum, 7, 4) & Mid(strAbDatum, 4, 2) & Mid(strAbDatum, 1, 2)
Funktioniert haben sollte aber (wegen der impliziten Typkonversion durch VBS) auch die ursprüngliche Schreibweise - es waren so nur alle CStr() überflüssig.

Grüße
bastla
Bitte warten ..
Mitglied: TuXHunt3R
23.02.2008 um 18:26 Uhr
OK, danke. Melde mich eventuell noch mal...
Bitte warten ..
Mitglied: TuXHunt3R
23.02.2008 um 18:40 Uhr
Die Datumsangabe im WMI-Query muss also folgendermassen aussehen?
yyyyMMdd

Also, z.B. so:
20080223
Bitte warten ..
Mitglied: bastla
23.02.2008 um 19:22 Uhr
Hallo TuXHunt3R!

Das vollständige Datums-/Zeitformat sieht so aus (kannst Du durch ein
01.
WScript.Echo .TimeWritten
in der Schleife nachvollziehen):
01.
20080223190532.000000+060
Es genügt aber für die Abfrage der Datumsanteil (entspricht dann "Datum 00:00 Uhr").

Grüße
bastla
Bitte warten ..
Mitglied: bastla
23.02.2008 um 19:42 Uhr
... als Ergänzung:

Wenn Du tatsächlich die Anforderung "letzte 24 Stunden" exakt umsetzen willst, kannst Du es so versuchen:
01.
... 
02.
intStd = 24 
03.
 
04.
dtAb = DateAdd("h", -intStd, Now) 
05.
strAb = CStr(dtAb) 
06.
strDate = Mid(strAb, 7, 4) & Mid(strAb, 4, 2) & Mid(strAb, 1, 2) & _ 
07.
	Replace(Mid(strAb, 12), ":", "") & ".000000+060" 
08.
...
Grüße
bastla
Bitte warten ..
Mitglied: TuXHunt3R
29.04.2008, aktualisiert 18.10.2012
Hallo bastla

Habe es in PowerShell umgesetzt, siehe hier:
https://www.administrator.de/wissen/powershell-for-runaways-part-ii-8661 ...

Problem damit gelöst!
Bitte warten ..
Ähnliche Inhalte
Windows Server

EventLog-Application ErrorCode 3221225864

gelöst Frage von rocco61Windows Server3 Kommentare

Hallo zusammen, mich macht eben der 2008 Server fuchtig. Komme heute , sehe im Eventlog EventLog-Application ErrorCode 3221225864 das ...

Batch & Shell

Eventlog Druckjobs mit VBS auslesen

Frage von joni2000deBatch & Shell4 Kommentare

Hallo zusammen, ich lese mit folgendem Code das Eventlog aus um die Druckjobs zu ermitteln. Das funktioniert auf dem ...

Windows 10

EventLog häufige Anzeige, was bedeutet diese?

gelöst Frage von M.MarzWindows 105 Kommentare

Hallo zusammen, ich habe mal in meinem Ereignislog reingeschaut und festgestellt, dass immer wieder diese Meldung seit mehreren Tagen ...

Batch & Shell

Powershell SetSelected letzter Eintrag

gelöst Frage von BuggerBatch & Shell2 Kommentare

Hallo, ich habe ein Script mit einer kleinen Textbox um weitere Einträge einer Listbox hinzuzufügen. Mit kann ich zwar ...

Neue Wissensbeiträge
CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 12 StundenCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 2 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlägt fehl - Lösung 2008-2016

Tipp von BiGnoob vor 2 TagenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden Fehler: Lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 2 TagenHumor (lol)4 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

Rechtliche Fragen
DSGVO - Impressum und Datenschutz auf Anmeldeseiten notwendig?
Frage von StefanKittelRechtliche Fragen16 Kommentare

Hallo, was mit gerade eingefallen ist. Muss man auf Anmeldeseiten auch ein Impressum und Datenschutzhinweis haben? Auch hier wird ...

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung12 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Windows Server
2003er RDS Server lässt alten ThinClient nach Updates nicht mehr anmelden
Frage von KnorkatorWindows Server9 Kommentare

Hallo zusammen, wir hatten die Aufgabe, ein System (keine Domänenanbindung) zu virtualisieren welches mehrere Jahre keine Updates gesehen hat. ...