?
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
Medium Priority
?
403 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 14

Accepted Solution

by:
athomsfere earned 1200 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 800 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Make the most of your online learning experience.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Simple Linear Regression

771 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