本文介绍了如何使用System.Diagnostics.EventLog从任意evxt文件读取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I use EventLog to read from an arbitrary evtx file?

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

EventLogQuery is able to open evtx files, but it is not available in .NET 2.0.

推荐答案

让我们假设日志文件为LogA.evtx.

Let's assume the log file is LogA.evtx.

LogA.evtx复制到C:\Windows\System32\winevt\Logs.

将新的注册表项添加到:

Add a new registry key to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog

称为LogA.例如.在PowerShell中:

called LogA. E.g. in PowerShell:

Set-Location HKLM:

New-Item .\SYSTEM\CurrentControlSet\services\eventlog -Name LogA

打开事件查看器以验证 LogA 是否显示在应用程序和服务日志下.

Open Event Viewer to verify that LogA shows up under Applications and Services Logs.

您现在可以使用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:

You can delete LogA via PowerShell:

[System.Diagnostics.EventLog]::Delete("LogA")

这篇关于如何使用System.Diagnostics.EventLog从任意evxt文件读取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 16:05