Maik 10 Geschrieben 11. Oktober 2012 Melden Teilen Geschrieben 11. Oktober 2012 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.. Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 11. Oktober 2012 Melden Teilen Geschrieben 11. Oktober 2012 Versuch mal "Get-WinEvent $_.FullName" oder "Get-WinEvent -Path $_.FullName" Zitieren Link zu diesem Kommentar
Maik 10 Geschrieben 11. Oktober 2012 Autor Melden Teilen Geschrieben 11. Oktober 2012 Danke, dass ging ja schnell.. Ich werde es morgen mal testen.. Zitieren Link zu diesem Kommentar
Maik 10 Geschrieben 12. Oktober 2012 Autor Melden Teilen Geschrieben 12. Oktober 2012 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... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.