【发布时间】:2013-11-06 03:07:10
【问题描述】:
如何使用EventLog 读取任意evtx 文件?
EventLogQuery 可以打开evtx 文件,但在 .NET 2.0 中不可用。
【问题讨论】:
如何使用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 是否显示在 应用程序和服务日志下。
您现在可以使用EventLog 打开LogA:
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")
【讨论】: