Jump to content

Eventlog files parsen nach Inhalt mit Powershell


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo an alle im Board,

ich versuche schon seit einiger Zeit eine Lösung zu erarbeiten bzgl. der parsen von Logfiles in untergeordneten Ordnern per Powershell.

folgende Idee:

Ich suche in einem Ordner nach alle *sysevent.evt Files und extrahiere den gesamten Pfad. Mit der Pipe übergeben ich den Pfad an den Befehl Get-WinEvent und filtere nach der Event-ID 10, welche wieder auf den Properties Wert 5 gefiltert werden. Damit möchte ich die byte Anzahl aller Druckaufträge als Ergbnis erhalten.

Leider funktioniert dieses nicht bei der Übergabe des Pfads

Alle Dateien liegen unter H:\tmp\Drucker-Statistiken_10-2012\09-30-2012-EventLog-%hostname%\09-30-2012-sysevent.evt

dir -Recurse -filter *sysevent.evt | select name, fullname | Get-WinEvent -oldest | where {$_.id -eq "10"} | ForEach-Object{"$($_.Properties[5].Value)"}

 

Folgender Fehler erscheint:

Get-WinEvent : There is not an event log on the localhost computer that matches "@{Name=09-30-2012-system.evt; FullName=H:\tmp\Drucker-Statistiken_10-2012\09-30-2012-EventLog-server\09-30-2012-sysevent.evt}".

At line:1 char:74

+ dir -Recurse -filter *sysevent.evt | select name, fullname | Get-WinEvent <<<< -oldest | where {$_.id -eq "10"} | ForEach-object{"$($_.Properties[5].Value)"}

+ CategoryInfo : ObjectNotFound: (@{Name=09-30-20...2-sysevent.evt}:String) [Get-WinEvent], Exception

+ FullyQualifiedErrorId : NoMatchingLogsFound,Microsoft.PowerShell.Commands.GetWinEventCommand

 

Vielen Dank an Euch..

Geschrieben

Cool, habs mal so gelöst:

Pfad in Variablen, Datei mit meinen Druckern eingelesen und für jeden Drucker in's Pfad-Verzeichnis gewechselt. Diesen baut er korrekt je Server zusammen..

Dann wertet er pro Serverordner die Systemlog Datei auf print Events aus und extrahiert daraus die byte-Anzahl..

 

$directory = "H:\tmp\Drucker-Statistiken_10-2012\09-30-2012-EventLog-"

$evtfile = "\09-30-2012-sysevent.evt"

$ausgabe

Get-content H:\tmp\Drucker-Statistiken_10-2012\Auswertung\printserver.txt | ForEach-Object {$directory + $_ + $evtfile} | ForEach-Object {Get-WinEvent -oldest -path $_ | where {$_.id -eq "10"} | ForEach-Object{"$($_.Properties[5].Value)"}}

 

Da ich nun noch die Seitenanzahl herausfiltern will, sollen beide Werte in eine csv Excel Datei. Geht dieses auch in zwei unterschiedl. Spalten oder Sheets?

 

Danke an alle...

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...