Systemstartzeit und -Endzeit aus dem Event-Viewer auslesen
Schritt-für-Schritt-Anleitung
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu: Klicke im Menü auf
Einfügen > Modul.
- Kopiere den folgenden VBA-Code in das Modul:
Sub AuslesenEventViewer()
Dim objWMIService As Object
Dim colLoggedEvents As Object
Dim objEvent As Object
Dim lngRow As Long, strDatum As String
Dim strMessage As String
Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'System' and EventType = '3'")
Application.ScreenUpdating = False
Range("A2", Cells(Rows.Count, "C")).ClearContents
lngRow = 1
For Each objEvent In colLoggedEvents
lngRow = lngRow + 1
If Not IsNull(objEvent.Message) Then
strMessage = objEvent.Message
Cells(lngRow, "A") = strMessage
End If
strDatum = Trim$(objEvent.TimeWritten)
If strDatum > "" Then
Cells(lngRow, "B") = CDate(Mid(strDatum, 7, 2) & "." & Mid(strDatum, 5, 2) & "." & Mid(strDatum, 1, 4) & " " & _
Mid(strDatum, 9, 2) & ":" & Mid(strDatum, 11, 2) & ":" & Mid(strDatum, 13, 2))
End If
Cells(lngRow, "C") = IIf(IsNull(objEvent.User), "", Trim(objEvent.User))
Next
Application.ScreenUpdating = True
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro aus: Gehe zu
Entwicklertools > Makros, wähle AuslesenEventViewer und klicke auf Ausführen.
Häufige Fehler und Lösungen
Alternative Methoden
- PowerShell nutzen: Du kannst auch ein PowerShell-Skript verwenden, um die Systemstartzeit und -endzeit auszulesen. Ein Beispiel-Skript könnte so aussehen:
Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005, 6006} | Format-Table TimeCreated, Message
- Event Viewer direkt: Du kannst die Daten auch manuell im Event Viewer (eventvwr) überprüfen, indem Du die Protokolle für das System und die entsprechenden Event-IDs durchsuchst.
Praktische Beispiele
Hier ist ein Beispiel, das zeigt, wie die Daten in Excel aussehen könnten, nachdem das VBA-Skript ausgeführt wurde:
| Message |
Time |
User |
| Der Benutzerprofildienst wurde erfolgreich gestartet. |
18.05.2008 07:53 |
NT-AUTORITÄT\SYSTEM |
| Der Softwarelizenzierungsdienst wird gestartet. |
18.05.2008 07:53 |
|
Tipps für Profis
- Event ID 4673: Wenn Du spezifische Fehler wie
event id 4673 audit failure untersuchen möchtest, kannst Du das Skript anpassen, um diese IDs gezielt auszulesen.
- Automatisierung: Du kannst das Skript so anpassen, dass es automatisch zu bestimmten Zeiten ausgeführt wird, um die Logdaten regelmäßig zu aktualisieren.
FAQ: Häufige Fragen
1. Wie kann ich die Exportdaten in eine andere Datei speichern?
Du kannst den VBA-Code so anpassen, dass die Daten in eine CSV-Datei exportiert werden. Verwende dazu Open und Print # Anweisungen.
2. Funktioniert das Skript mit allen Windows-Versionen?
Das Skript sollte mit Windows 7 und höher problemlos laufen. Bei älteren Versionen könnten Anpassungen nötig sein.
3. Was ist zu tun, wenn der Virenscanner blockiert?
Setze eine Ausnahme für Excel oder das spezifische Skript in Deinem Virenscanner, um sicherzustellen, dass es ohne Probleme ausgeführt werden kann.