12. [pywin32] OpenBackupEventLog() 함수

pywin32/win32evtlog|2020. 7. 25. 13:58

PyEVTLOG_HANDLE = OpenBackupEventLog(serverName, fileName )

 

OpenEventLog 함수와 비슷합니다. 차이가 있다면, 이 함수는 기존에 백업된 이벤트 로그 파일에 대한 핸들값을 리턴합니다.

 

인자는 serverName : PyUnicode, fileName : PyUnicode 가 있습니다.

 

serverName은 이벤트 로그가 있는 원격 서버의 이름입니다. None으로 설정 시 로컬 컴퓨터를 뜻합니다.

 

fileName은 백업된 이벤트 로그 파일의 상대경로 혹은 절대경로입니다.

 

OpenBackupEventLog 함수의 리턴값은 PyEVTLOG_HANDLE 형식이며, 이벤트 로그를 다룰 떄 사용합니다.

그러나 OpenEventLog 함수와는 달리 몇몇 이벤트 로그 함수만 사용할 수 있으며, BackupEventLog 함수로 다시 백업하거나 ReadEventLog 함수로 백업된 로그 내용을 읽어오는 정도만이 가능한 것 같습니다.

import win32evtlog

pHandle = win32evtlog.OpenBackupEventLog(None, "C:\\test\BackupEventTestFile.evtx")

# win32evtlog.ClearEventLog(pHandle, "C:\\test\BackupEventTestFile2.evtx")
# 안됨

# win32evtlog.ClearEventLog(pHandle, None)
# 안됨

# win32evtlog.BackupEventLog(pHandle, "BackupEventTestFile2.evtx")
# 됨

'''
flag = win32evtlog.EVENTLOG_SEQUENTIAL_READ | win32evtlog.EVENTLOG_BACKWARDS_READ

num = win32evtlog.GetNumberOfEventLogRecords(pHandle)
print(f"{num}")

for i in range(num):
    x = win32evtlog.ReadEventLog(pHandle, flag, 0)

    for j in x:
        print(f"{j.TimeGenerated}")
'''
# 됨
        
win32evtlog.CloseEventLog(pHandle)

주석을 해제하면서 실행해보시면, 결과를 아실 수 있습니다.ㅎㅎ

반응형

댓글()