2009-03-19 6 views

Respuesta

1

finalmente hice un poco de WinApp usando este método se encuentran en Internet:

public void DoBackup(string sLogName) 
{ 
    string sBackup = sLogName; // could be for example "Application" 
    EventLog log = new EventLog(); 
    log.Source = sBackup; 

    var query = from EventLogEntry entry in log.Entries 
       orderby entry.TimeGenerated descending 
       select entry; 

    string sBackupName = sBackup+"Log"; 
    var xml = new XDocument(
     new XElement(sBackupName, 
      from EventLogEntry entry in log.Entries 
      orderby entry.TimeGenerated descending 
      select new XElement("Log", 
       new XElement("Message", entry.Message), 
       new XElement("TimeGenerated", entry.TimeGenerated), 
       new XElement("Source", entry.Source), 
       new XElement("EntryType", entry.EntryType.ToString()) 
      ) 
     ) 
     ); 

    DateTime oggi = DateTime.Now; 
    string sToday = DateTime.Now.ToString("yyyyMMdd_hhmmss"); 
    string path = String.Format("{0}_{1}.xml", sBackupName, sToday); 
    xml.Save(Path.Combine(Environment.CurrentDirectory, path)); 
} 

esta es la fuente link:

Simplemente funciona gran!

1

El Microsoft Script Center tiene algo de código de ejemplo para Backing Up and Clearing Event Logs usando VBScript y WMI.

Frank-Peter Schultze's Scripting Site tiene un código para borrar un registro de eventos (http://www.fpschultze.de/uploads/clrevt.vbs.txt) que puede modificar para hacer una copia de seguridad o copia de seguridad y luego borrar.

Si tiene acceso al servidor, puede realizar una copia de seguridad desde el Visor de eventos haciendo clic con el botón derecho en un registro y utilizando el comando "Guardar archivo de registro como ...". Puede guardar en un archivo binario, delimitado por tabuladores o delimitado por comas.

4

Con powershell y export-clixml su oneliner.

get-eventlog -list | %{ get-eventlog $_.Log | export-clixml -path ($_.Log + ".xml") } 
Cuestiones relacionadas