如何使用EventLog
从任意evtx
文件中读取?
EventLogQuery
能够打开evtx
个文件,但在.NET 2.0中不可用。
答案 0 :(得分:0)
我们假设日志文件是LogA.evtx
。
将LogA.evtx
复制到C:\Windows\System32\winevt\Logs
。
将新的注册表项添加到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog
名为LogA
。例如。在PowerShell中:
Set-Location HKLM:
New-Item .\SYSTEM\CurrentControlSet\services\eventlog -Name LogA
打开事件查看器以验证 LogA 是否显示在应用程序和服务日志下。
您现在可以使用LogA
打开EventLog
:
using System;
using System.Diagnostics;
namespace EventLogTest
{
class Program
{
static void Main(string[] args)
{
var log = new EventLog("LogA");
Console.WriteLine(log.Entries.Count);
}
}
}
您可以通过PowerShell删除LogA
:
[System.Diagnostics.EventLog]::Delete("LogA")