En primer lugar, una opción sería utilizar el comando "wevtutil" que permite exportar el registro de eventos a un archivo. Aquí te dejamos un ejemplo de cómo podrías utilizarlo:
Código:
wevtutil epl System C:\Logs\System.evtx
wevtutil epl Application C:\Logs\Application.evtx
wevtutil epl Security C:\Logs\Security.evtx
Este código exportaría los registros de eventos de los tres tipos (sistema, aplicación y seguridad) a archivos separados en la ruta "C:\Logs". Luego, podrías utilizar un script de borrado para eliminar los registros de eventos originales.
Otra opción sería utilizar el módulo de Python "win32evtlogutil" que permite acceder a los registros de eventos de Windows. Aquí te dejo un ejemplo de cómo podrías utilizarlo:
Código:
import win32evtlogutil
import win32evtlog
server = 'localhost' # o el nombre de tu servidor
logtype = 'Application'
hand = win32evtlog.OpenEventLog(server,logtype)
flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
total = win32evtlogutil.GetNumberOfEventLogRecords(hand)
# Iterar a través de los registros de eventos y guardarlos en un archivo
events = win32evtlog.ReadEventLog(hand, flags, 0)
for event in events:
print(event.StringInserts) # aquí podrías guardar los valores en un archivo
win32evtlogutil.CloseEventLog(hand)
Este código accedería al registro de eventos de aplicación del servidor local y guardaría los registros en un archivo. Podrías utilizar un código similar para acceder a los otros dos registros de eventos y luego borrar los registros de eventos originales.
Espero que esto te ayude a solucionar tu problema.