Получение журналов событий Windows с помощью win32evtlog

Вопрос:

Я хочу получить все сохраненные журналы событий моей машины Windows 8 с помощью python 3.3 (особенно журналы событий мыши). Я нашел способ получить файл журнала событий с модулем win32evtlog в python. Читая logtype “System”, я получаю общее число 6594.

import win32evtlog

hand  = win32evtlog.OpenEventLog("localhost","System")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ| win32evtlog.EVENTLOG_SEQUENTIAL_READ
total = win32evtlog.GetNumberOfEventLogRecords(hand)
print("Total Number of Events:",total)

>> Общее количество событий: 6594

Я полагаю, что событие мыши регистрирует все остальные журналы определенного размера в этих ок. 6600 журналов событий. Но когда я пытаюсь перебрать/перебрать события, чтобы получить информацию, я просто верну 3 объекта журнала событий.

import win32evtlog

hand  = win32evtlog.OpenEventLog("localhost","System")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ| win32evtlog.EVENTLOG_SEQUENTIAL_READ

events = win32evtlog.ReadEventLog(hand,flags,0)
print("LEN of event objects stored:",len(events),end="\n"*2)

>> LEN хранимых объектов событий: 3

Неужели я ошибаюсь в решении? Или вы видите, что здесь не так? Каждый раз благодарен за любую помощь

Лучший ответ:

У меня возникла такая же проблема, пытаясь получить события запуска и завершения работы. Очевидно, проблема заключается именно в том, как вы просматриваете список событий, это должно быть сделано, как здесь: http://www.blog.pythonlibrary.org/2010/07/27/pywin32-getting-windows-event-logs/

events = win32evtlog.ReadEventLog(hand,flags,0) while events: events=win32evtlog.ReadEventLog(hand,flags,0) for event in events: #do stuff here

Оцените статью
TechArks.Ru
Добавить комментарий