Batchdatei mit Aufruf der Ereignisanzeige etc.

Registriert
Juli 2020
Beiträge
228
Hallo Auskenner/innen,

ich starte mehrmals am Tag die Ereignisanzeige und mache dann folgende Tätigkeiten:

1. Ich klicke mich im Navigationsbaum links durch folgenden Pfad: Anwendungs- und Dienstprotokolle => Microsoft => Windows => NetworkProfile => Betriebsbereit

2. Dann filtere ich die Liste der Ereignisse mit der Ereignis-ID 4004, sodass nur mehr solche Ereignisse angezeigt werden

Diese gesamte Klickerei möchte ich reduzieren, indem ich eine Batchdatei erstelle, die das alles erledigt.

Ich habe eine Datei netzwerk.cmd erstellt, die die Ereignisanzeige öffnet:

eventvwr.exe

Wie kann ich nun Windows den Pfad und die Filtereinstellung mitteilen, sodass ich mir die weitere Klickarbeit ersparen kann?
 
Rechtsklick auf die ID und Aufgabe anfügen geht nicht ?
 
Das kannst du mit einer einfachen Verknüpfung auf das Tool FullEventLogView von Nirsoft erreichen. Hat den Vorteil, dass es (wahrscheinlich) schneller läd, da nur die gesuchten Events ausgelesen werden. Der Nachteil ist, dass es etwas anders aussieht als der Viewer von Microsoft.
 
  • Gefällt mir
Reaktionen: Redundanz
Man könnte es auch mit PowerShell lösen:

PowerShell:
$eventLog = New-Object System.Diagnostics.EventLog("System")
$eventLogEntries = $eventLog.Entries | Where-Object {$_.EventID -eq 4004}

foreach ($entry in $eventLogEntries) {
    Write-Host "Event ID: $($entry.EventID)"
    Write-Host "Source: $($entry.Source)"
    Write-Host "Message: $($entry.Message)"
    Write-Host "--------------------------"
}

$eventLog.Dispose()

Das ließe sich dann noch weiter spinnen, indem man z.B. sich die Ergebnisse autom. in einer Datei speichern lässt und das ganze dann noch in eine *.exe konvertiert; sodass du jedes Mal nur einen Doppelklick machen musst und dann das Ergebniss direkt als *.txt ausgespuckt bekommst ^^
 
  • Gefällt mir
Reaktionen: =dantE=
... und noch meine Version aus dem eigenen Werkzeugkasten ... ^^


PowerShell:
$eventId = 4004
$eventLog = Get-WinEvent -LogName "Microsoft-Windows-NetworkProfile/Operational"
$events = $eventLog | Where-Object { $_.Id -eq $eventId }

foreach ($event in $events) {
    Write-Host "Datum/Uhrzeit: $($event.TimeCreated)"
    Write-Host "Quelle: $($event.ProviderName)"
    Write-Host "Ereignis-ID: $($event.Id)"
    Write-Host "Nachricht: $($event.Message)"
    Write-Host "-------------------------"
}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Mr. Smith
Das passt gut.

Wenn man die Ergebnisse nicht nur im PS-Fenster sehen möchte,
sondern sie eventuell noch gespeichtert haben möchte, könnte man es noch etwas adaptieren:

PowerShell:
$eventId = 4004
$eventLog = Get-WinEvent -LogName "Microsoft-Windows-NetworkProfile/Operational"
$events = $eventLog | Where-Object { $_.Id -eq $eventId }

$filePath = "$env:USERPROFILE\Desktop\EventLogResults.txt"

foreach ($event in $events) {
    Add-Content -Path $filePath -Value "Datum/Uhrzeit: $($event.TimeCreated)"
    Add-Content -Path $filePath -Value "Quelle: $($event.ProviderName)"
    Add-Content -Path $filePath -Value "Ereignis-ID: $($event.Id)"
    Add-Content -Path $filePath -Value "Nachricht: $($event.Message)"
    Add-Content -Path $filePath -Value "-------------------------"
}

Leider kann man ja hier nicht einfach *.exe'n anhängen, aber ich habe es kurz in eine kleine Executable umgewandelt und es funktioniert wunderbar. Dauert 2-3sek und die File ist da...

Wenn @Holzohrwascherl mir eine Mail-Addy gibt, schick ich es via WeTransfer.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Holzohrwascherl und =dantE=
Wow, besten Dank allen für die sehr interessanten Tipps.
Ich probiere jetzt einen nach dem anderen durch ;-)
Ergänzung ()

@WinFan: Ja, das hat geklappt, danke dir. Ich sehe aber keinen relevanten Vorteil gegenüber dem Standard-Vorgehen. Ich muss mich erst zur Aufgabe durchklicken und sie dann starten, das ist annähernd die gleiuche Klickarbeit.
 
Zuletzt bearbeitet:
@Holzohrwascherl
Mail solltest du bekommen haben. Probiers aus.
Das Ergebnis, zumindest mit der aktuellen Formatierung, sieht dann so aus:

Log.png


Könnte man natürlich alles etwas verfeinern, aber ich denke es tut seinen Job?!
 
  • Gefällt mir
Reaktionen: Holzohrwascherl und =dantE=
Danke, Mr. Smith für die Datei.
Entschuldige bitte, dass ich mich erst jetzt melde. Ich bin derzeit in der Firma leider so unter Wasser (bei uns in der CH ist heute kein Feiertag), sodass ich erst am Sonntag dazu kommen werde.
Das sieht ja megageil aus. Da muss ich tatsächlich nichts mehr verfeinern, das ist überhinreichend :-)!
Ergänzung ()

=dantE= schrieb:
...
Aber hey, das hier ist schon Support auf hohem Niveau! Top Job!
Ja, damit hätte ich nicht gerechnet. Jetzt hat mir Mr. Smith ein schlechtes Gewissen gemacht.
 
  • Gefällt mir
Reaktionen: =dantE=
Holzohrwascherl schrieb:
Entschuldige bitte, dass ich mich erst jetzt melde. Ich bin derzeit in der Firma leider so unter Wasser (bei uns in der CH ist heute kein Feiertag), sodass ich erst am Sonntag dazu kommen werde.
Haha, Grüße aus Innsbruck.
Bin öfter mal in der Schweiz zum Arbeiten (meist in Samnaun und Umgebung).

...und mein Stundensatz wird bei Arbeiten in der Schweiz aus irgendwelchen Gründen immer hochgestuft.
Keine Ahnung warum genau; aber in CH arbeiten ist immer super :daumen:

[eventuell weil ein Sys-Admin in Österreich, nichtmal den Lohn eines schweizer Tellerwäschers hat...]
 
Ich bin aber ein armer Ösi, der nur vorübergehend in der CH arbeitet. Mein Stundensatz ist gleich wie immer und nicht der Rede wert …
Ich gelobe aber beim Augenlicht meiner Lieblingskatze, dass ich noch nie auf Ibiza war.
 
Zurück
Oben