我使用休眠代码导出Windows-Event-Log:
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"
应用程序事件日志已存在,并且tempEventLogPath也有效。
有没有人知道,哪里会出问题?
发布于 2013-07-24 22:01:34
尝试删除目标目录中的目录LocalMetaData。
我也有同样的问题。第一个调用可以工作,但是随后的每个调用都会得到上面提到的异常。Processmonitor的调查显示,除了evtx文件之外,还访问了目录LocalMetaData。删除此目录后,导出将再次正常工作。
发布于 2013-05-09 01:23:13
查看可能的答案:EvtArchiveExportedLog fails with ERROR_DIRECTORY
问题是,即使你可以访问答案中提到的目录,你也可能会因为UAC通知而失败(你可以禁用UAC,它应该可以工作)。
https://stackoverflow.com/questions/12999421
复制相似问题