Posted by: Preetam | January 5, 2007

PowerShell EventLog Parser

#you need Error-Patters.txt which can include any pattern for example terminated failed Stopped unexpected

#—————-CODE BEGINS——————-
$Patterns=get-content “E:\Powershell\Makesense\Error-Patters.txt”
foreach($Pattern in $Patterns) {
$Errevents = get-eventlog -logname system -newest 1000 where{$_.entrytype -eq “error”}
$failedpattern=$Errevents Select-Object eventid,timegenerated,message,source Select-String -Pattern $Pattern
Write-host “________________________” $Pattern “_______________________” -Foregroundcolor “RED”
for($i=0;$i -lt $failedpattern.length; $i++) {
Write-Host “_____________________ ” -foregroundcolor “GRAY”

#——————–CODE ENDS—————————

Yesterday I was going through basic of Powershell again. Just to see If I could dig out more. I came across select-string, Wow..another beautiful feature. I just wanted to utilized it’s full powerBelow example is just sleek and does what things which always expect.
C:\PS>$events = get-eventlog -logname application -newest 100$events select-string -inputobject {$_.message} -pattern “failed”
Below is example in powershell inbuilt help. GET-HELP SELECT-STRING -EXAMPLES
Let’s talk about the script. I’m basically going into system event log and then filtering only errors.Once I have errors I check content of the message for text likefailed,stopped,unexpected,terminated. Since this strings might differ in individually cases, I have included them in text file. One I thing I noticed here, output which select-string produceincludes message,eventid,source seperated by “;” So I have to use split command to manipulate the output. I have used again color backgrounds to make it more readable. I’m delighted by the output. Do try out.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: