2009-03-19 20 views

risposta

1

Infine ho fatto un po 'WinApp utilizzando questo metodo trovato su 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)); 
} 

questa è la fonte link:

Funziona semplicemente grande!

1

Il Microsoft Script Center ha un po 'di codice di esempio per Backing Up and Clearing Event Logs usando VBScript e WMI.

Il sito di Scripting di Frank-Peter Schultze dispone di un codice per cancellare un registro eventi (http://www.fpschultze.de/uploads/clrevt.vbs.txt) che è possibile modificare per il backup o il backup, quindi deselezionare.

Se si dispone dell'accesso al server, è possibile eseguire il backup dal Visualizzatore eventi facendo clic con il pulsante destro del mouse su un registro e utilizzando il comando "Salva file di registro con nome ...". È possibile salvare in un file binario, delimitato da tabulazioni o delimitato da virgole.

4

Con powershell e export-clixml suo oneliner.

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