c#
  • .net
  • event-log
  • 2012-10-21 19 views 5 likes 
    5

    użyć kodu odłogowania wyeksportować windows-Eventlog:Wyjątek przy wywozu Eventlog

    var els = new EventLogSession(); 
    els.ExportLogAndMessages("Application", 
              PathType.LogName, 
              "*[System[Provider[@Name='Prayon.Client']]]", 
              tempEventLogPath, 
              false, 
              CultureInfo.CurrentCulture); 
    

    to ogólnie działa. Ale na jednym komputerze, pojawia się wyjątek odłogowania:

    System.Diagnostics.Eventing.Reader.EventLogException: Der Verzeichnisname ist ungültig 
    bei System.Diagnostics.Eventing.Reader.EventLogException.Throw(Int32 errorCode) 
    bei System.Diagnostics.Eventing.Reader.NativeWrapper.EvtArchiveExportedLog(EventLogHandle session, String logFilePath, Int32 locale, Int32 flags) 
    bei System.Diagnostics.Eventing.Reader.EventLogSession.ExportLogAndMessages(String path, PathType pathType, String query, String targetFilePath, Boolean tolerateQueryErrors, CultureInfo targetCultureInfo) 
    

    "Der Verzeichnisname ist ungültig" oznacza na angielski: "The pathname is invalid"

    Application-Dziennik_zdarzeń jest istniejący i tempEventLogPath jest również ważna.

    Czy ktoś wie, co może być nie tak?

    +0

    Jaka jest wartość tempEventLogPath? –

    Odpowiedz

    0

    Spróbuj usunąć katalog LocalMetaData w katalogu docelowym.

    Miałem ten sam problem. Pierwsze połączenie działa, ale każde następne połączenie otrzymuje wyżej wymieniony wyjątek. Dochodzenie z Processmonitor pokazało mi, że do pliku evtx dołączony jest katalog LocalMetaData. Po usunięciu tego katalogu eksport działa ponownie.

    0

    Zobacz możliwie odpowiedź w: EvtArchiveExportedLog fails with ERROR_DIRECTORY

    Chodzi o to, nawet jeśli nie masz dostępu do katalogu, w którym jest mowa w odpowiedzi, można powiedzie się z powodu powiadomień UAC (można wyłączyć UAC i powinno praca).

    Powiązane problemy