Query windows event log with python

Discussion in 'Python' started by robey.lawrence@gmail.com, Jan 12, 2013.

  1. Guest

    Hi,

    I am looking to write a short program to query the windows event log.

    It needs to ask the user for input for The event type (Critical, Error, and Information), and the user needs to be able to specify a date since when they want to view results.

    I understand I will need the pywin32 extension, which i already have installed.

    I found this piece of code to start from,

    <code>
    import win32evtlog # requires pywin32 pre-installed

    server = 'localhost' # name of the target computer to get event logs
    logtype = 'System' # 'Application' # 'Security'
    hand = win32evtlog.OpenEventLog(server,logtype)
    flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
    total = win32evtlog.GetNumberOfEventLogRecords(hand)

    while True:
    events = win32evtlog.ReadEventLog(hand, flags,0)
    if events:
    for event in events:
    print 'Event Category:', event.EventCategory
    print 'Time Generated:', event.TimeGenerated
    print 'Source Name:', event.SourceName
    print 'Event ID:', event.EventID
    print 'Event Type:', event.EventType
    data = event.StringInserts
    if data:
    print 'Event Data:'
    for msg in data:
    print msg
    print
    </code>

    Thanks for any help.
    Robey
     
    , Jan 12, 2013
    #1
    1. Advertising

  2. alex23 Guest

    On 12 Jan, 16:09, wrote:
    > Hi,
    >
    > I am looking to write a short program to query the windows event log.
    >
    > It needs to ask the user for input for The event type (Critical, Error, and Information), and the user needs to be able to specify a date since whenthey want to view results.
    >
    > I understand I will need the pywin32 extension, which i already have installed.
    >
    > I found this piece of code to start from,
    >
    > <code>
    > import win32evtlog # requires pywin32 pre-installed
    >
    > server = 'localhost' # name of the target computer to get event logs
    > logtype = 'System' # 'Application' # 'Security'
    > hand = win32evtlog.OpenEventLog(server,logtype)
    > flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
    > total = win32evtlog.GetNumberOfEventLogRecords(hand)
    >
    > while True:
    >     events = win32evtlog.ReadEventLog(hand, flags,0)
    >     if events:
    >         for event in events:
    >             print 'Event Category:', event.EventCategory
    >             print 'Time Generated:', event.TimeGenerated
    >             print 'Source Name:', event.SourceName
    >             print 'Event ID:', event.EventID
    >             print 'Event Type:', event.EventType
    >             data = event.StringInserts
    >             if data:
    >                 print 'Event Data:'
    >                 for msg in data:
    >                     print msg
    >             print
    > </code>
    >
    > Thanks for any help.
    > Robey


    What would you like us to provide? Pointers to the Python tutorial? Or
    all of the code?

    Generally, the onus is on you to attempt to come up with solution
    yourself and then to ask for assistance where required. If you want
    someone to just write it for you, then you might want to mention how
    you plan on recompensing them.
     
    alex23, Jan 12, 2013
    #2
    1. Advertising

  3. Tim Golden Guest

    On 12/01/2013 06:09, wrote:
    > I am looking to write a short program to query the windows event
    > log.
    >
    > It needs to ask the user for input for The event type (Critical,
    > Error, and Information), and the user needs to be able to specify a
    > date since when they want to view results.
    >
    > I found this piece of code to start from,


    [... snip ...]

    Well it looks like you have everything you need. Was there a specific
    question you wanted to ask?

    TJG
     
    Tim Golden, Jan 12, 2013
    #3
  4. Guest

    On Saturday, January 12, 2013 8:34:01 PM UTC+11, Tim Golden wrote:
    > On 12/01/2013 06:09, wrote:
    >
    > > I am looking to write a short program to query the windows event

    >
    > > log.

    >
    > >

    >
    > > It needs to ask the user for input for The event type (Critical,

    >
    > > Error, and Information), and the user needs to be able to specify a

    >
    > > date since when they want to view results.

    >
    > >

    >
    > > I found this piece of code to start from,

    >
    >
    >
    > [... snip ...]
    >
    >
    >
    > Well it looks like you have everything you need. Was there a specific
    >
    > question you wanted to ask?
    >
    >
    >
    > TJG


    yes, I would like to run it in Command prompt and ask the user at the time what type and date of Event they would like to view. so i was wondering where in the code I could put something like "var=raw_input"

    Thanks TJG
     
    , Jan 13, 2013
    #4
  5. Guest

    On Saturday, January 12, 2013 8:34:01 PM UTC+11, Tim Golden wrote:
    > On 12/01/2013 06:09, wrote:
    >
    > > I am looking to write a short program to query the windows event

    >
    > > log.

    >
    > >

    >
    > > It needs to ask the user for input for The event type (Critical,

    >
    > > Error, and Information), and the user needs to be able to specify a

    >
    > > date since when they want to view results.

    >
    > >

    >
    > > I found this piece of code to start from,

    >
    >
    >
    > [... snip ...]
    >
    >
    >
    > Well it looks like you have everything you need. Was there a specific
    >
    > question you wanted to ask?
    >
    >
    >
    > TJG


    yes, I would like to run it in Command prompt and ask the user at the time what type and date of Event they would like to view. so i was wondering where in the code I could put something like "var=raw_input"

    Thanks TJG
     
    , Jan 13, 2013
    #5
  6. Tim Golden Guest

    On 13/01/2013 05:55, wrote:
    > On Saturday, January 12, 2013 8:34:01 PM UTC+11, Tim Golden wrote:
    >> On 12/01/2013 06:09, wrote:
    >>
    >>> I am looking to write a short program to query the windows event

    >>
    >>> log.

    >>
    >>>

    >>
    >>> It needs to ask the user for input for The event type (Critical,

    >>
    >>> Error, and Information), and the user needs to be able to specify
    >>> a

    >>
    >>> date since when they want to view results.

    >>
    >>>

    >>
    >>> I found this piece of code to start from,

    >>
    >>
    >>
    >> [... snip ...]
    >>
    >>
    >>
    >> Well it looks like you have everything you need. Was there a
    >> specific
    >>
    >> question you wanted to ask?
    >>
    >>
    >>
    >> TJG

    >
    > yes, I would like to run it in Command prompt and ask the user at the
    > time what type and date of Event they would like to view. so i was
    > wondering where in the code I could put something like
    > "var=raw_input"


    Ok, so your query isn't so much with accessing the event log as
    with writing Python code at all. If you haven't already, could I suggest
    the Python tutorial here:

    http://docs.python.org/2/tutorial/

    or, if that one doesn't suit, just search for "Python tutorial" to find
    something which fits your brain.

    Feel free to post back here with questions once you've got started.

    TJG
     
    Tim Golden, Jan 14, 2013
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Henrik_the_boss
    Replies:
    0
    Views:
    2,659
    Henrik_the_boss
    Nov 5, 2003
  2. Amratash
    Replies:
    0
    Views:
    529
    Amratash
    Apr 13, 2004
  3. =?Utf-8?B?VG9tIFdpbmdlcnQ=?=

    My.Log.Writeexception not writing to Application Event Log.

    =?Utf-8?B?VG9tIFdpbmdlcnQ=?=, Jan 20, 2006, in forum: ASP .Net
    Replies:
    0
    Views:
    2,381
    =?Utf-8?B?VG9tIFdpbmdlcnQ=?=
    Jan 20, 2006
  4. Tom Wingert
    Replies:
    0
    Views:
    333
    Tom Wingert
    Jan 12, 2006
  5. Replies:
    0
    Views:
    1,309
Loading...

Share This Page