本文介绍了如何使用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文件读取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!