5

次のコードを使用して、Windows イベント ログをエクスポートします。

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

これは一般的に機能しています。しかし、あるマシンでは、以下の例外が発生します。

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"英語での意味:"The pathname is invalid"

Application-EventLog は存在し、tempEventLogPath有効です。

誰かが知っていますか、何が間違っている可能性がありますか?

4

2 に答える 2

0

考えられる答えを参照してください: EvtArchiveExportedLog fails with ERROR_DIRECTORY

問題は、回答に記載されているディレクトリにアクセスできる場合でも、UAC 通知が原因で失敗する可能性があることです (UAC を無効にすると機能するはずです)。

于 2013-05-08T17:23:13.020 に答える
0

ターゲット ディレクトリのディレクトリ LocalMetaData を削除してみてください。

私も同じ問題を抱えていました。最初の呼び出しは機能しますが、後続のすべての呼び出しで上記の例外が発生します。Processmonitor で調査したところ、evtx ファイルに加えて、ディレクトリ LocalMetaData がアクセスされていることがわかりました。このディレクトリを削除すると、エクスポートが再び機能します。

于 2013-07-24T14:01:33.517 に答える