2009-03-19 3 views

Odpowiedz

1

Wreszcie zrobiłem trochę winapp użyciu tej metody znaleźć w Internecie:

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)); 
} 

Jest to źródło link:

To po prostu działa wielką!

1

Microsoft Script Center ma jakiś przykładowy kod Backing Up and Clearing Event Logs przy użyciu VBScript i WMI.

Witryna skryptowa Frank-Peter Schultze zawiera kod do wyczyszczenia dziennika zdarzeń (http://www.fpschultze.de/uploads/clrevt.vbs.txt), który można zmodyfikować do tworzenia kopii zapasowych lub tworzenia kopii zapasowych, a następnie wyczyścić.

Jeśli masz dostęp do serwera, możesz wykonać kopię zapasową z Podglądu zdarzeń, klikając prawym przyciskiem myszy dziennik i używając polecenia "Zapisz plik dziennika jako ...". Możesz zapisać plik binarny, rozdzielany tabulatorami lub rozdzielany przecinkami.

4

Z powershell i export-clixml jego oneliner.

get-eventlog -list | %{ get-eventlog $_.Log | export-clixml -path ($_.Log + ".xml") } 
Powiązane problemy