Рассматривали ли вы путь win32evtlog
? Это часть того, что я использовал в прошлом, и, похоже, это хорошо работает ...
import win32evtlog
outfile = open('NTLog.log', 'w')
server = 'SERVER_Name'
logtype = 'Security'
hand = win32evtlog.OpenEventLog(server, logtype)
flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
total = win32evtlog.GetNumberOfEventLogRecords(hand)
count = 0
while count != total:
events = win32evtlog.ReadEventLog(hand, flags,0)
if events:
for event in events:
data = event.StringInserts
if data:
outfile.write(data[0])
Это не совсем полная реализация, но, надеюсь, она вернет вас в нужное русло!