0

如何使用EventLog从任意evtx文件中读取?

EventLogQuery能够打开evtx文件,但在 .NET 2.0 中不可用。

4

1 回答 1

0

假设日志文件是LogA.evtx.

复制LogA.evtxC:\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")
于 2013-11-06T03:12:19.960 回答