Estoy trabajando en un programa y no sé cómo leería una entrada específica en el registro de eventos de Windows basado en un número de registro, que este script ya tendrá. A continuación está el código con el que he estado trabajando, pero no quiero recorrer todos los eventos hasta que encuentre el que estoy buscando. ¿Algunas ideas?Leer evento de registro de eventos de Windows específico
import win32evtlog
server = 'localhost' # name of the target computer to get event logs
logtype = 'System'
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:
if event.EventID == "27035":
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
break
Recuerde llamar a 'win32evtlog.CloseEventLog (hand) 'cuando haya terminado. – twasbrillig