我尝试复制EventLog"应用程序"到我的电脑上的另一个文件夹,但总是得到错误
" ....无法找到路径的一部分 ' C:\ Windows \ System32下\ winevt \日志\ Application.evtx ..."
我使用代码:
public void collectEventLogsFromSystem(string RequestedlogName,string newFolderPath)
{
string combinedLogToFind = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Eventlog\\" + RequestedlogName;
string LogEventsPath = (string)Registry.GetValue(combinedLogToFind, "File", null);
if (LogEventsPath != null)
{
System.IO.File.Copy(LogEventsPath, newFolderPath +"\\"+ RequestedlogName, true);
}
}//collectEventLogsFromSystem method
即使我使用显式文件夹路径,它仍然无法工作:
System.IO.File.Copy(@"C:\Windows\System32\winevt\Logs\Application.evtx", "c:\\ttt\\Application.evtx", true);
任何想法?
答案 0 :(得分:0)
我在StackOverflow上找到了这个答案,这可能会解决你的问题。我有一台64位机器,表现出相同的行为。 John Rasch的这个post解决了这个问题并解释了它失败的原因。
答案 1 :(得分:0)
如果您在程序运行时尝试获取日志文件,则上述方法将无效。此帖子Export Event Log (.evtx) without "run as administrator"将允许您备份事件日志,即使您当前正在使用应用程序中的事件日志。