Solved

How do I read events in event viewer from vb.net or have events automatically sent to a database for parsing?

Posted on 2011-09-20
3
375 Views
Last Modified: 2012-05-12
Hello.  So what I need to do is for a project i'm developing I need to be able to parse new events in the security log from event viewer.  One option is to manually export the log to a csv format and that is all nice but I need something automated.  I'd rather not have to export into csv and be able to parse through the events in realtime on an as needed basis but I don't know if that is possible.

is it possible to query the security log in event viewer and parse individual log entries?  the server with event viewer is a 2008 R2 machine.  my application can sit and run on that server and retrieve the data locally.  

thanks for any assistance.
0
Comment
Question by:linuxrox
3 Comments
 
LVL 14

Accepted Solution

by:
athomsfere earned 300 total points
ID: 36567206
If you can convert this from C# to VB.net here is something I wrote a while back.

        private void getSystemErrors()
        {
            String computerName = txtComputer.Text;

            EventLog eventEntry = new EventLog("System", computerName);

            foreach (EventLogEntry entry in eventEntry.Entries)
            {
                if (entry.EntryType == EventLogEntryType.Error)
                {
                    lstEvents.Items.Add(entry.TimeGenerated + " " + entry.Source
                       + " " + entry.Category );
                }
            }
        }

Open in new window


Changs "System" to "Security", and then what that does is add each Error level event on a remote machine to a listbox. You can remove the computername overload and it will run locally.
0
 
LVL 17

Assisted Solution

by:nepaluz
nepaluz earned 200 total points
ID: 36568826
here' a literal VB conversion
Sub GetSystemErrors()
    Dim eRrorEvents As New List(Of String)
    Dim ComputerName As String = My.Computer.Name
    Dim eVententry As EventLog = New EventLog("System", ComputerName)
    For Each entry As EventLogEntry In eVententry.Entries
        If entry.EntryType = EventLogEntryType.Error Then
            eRrorEvents.Add(String.Join(", ", {entry.TimeGenerated, entry.Source, entry.Category}))
        End If
    Next
End Sub

Open in new window

0
 

Author Closing Comment

by:linuxrox
ID: 36569151
very much appreciated guys!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This is an explanation of a simple data model to help parse a JSON feed
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now