如何使用EventLog
从任意evtx
文件中读取?
EventLogQuery
能够打开evtx
文件,但在 .NET 2.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是否显示在Applications and Services Logs下。
您现在可以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);
}
}
}
LogA
您可以通过 PowerShell删除:
[System.Diagnostics.EventLog]::Delete("LogA")