我正在开发一个创建 Windows 事件日志并写入其中的应用程序。
然而,在开发和测试过程中,我错误地创建了一些事件日志,并在其中注册了源。
问题是事件日志名称只有前 8 个字符有意义。现在我的日志名称不正确,我无法创建所需的新日志。
有什么方法可以完全删除这些事件日志(而不仅仅是清除它们)?
我曾尝试删除该文件C:\Windows\System32\winevt\Logs\WrongNamedEventLog.evtx
,但没有成功。
答案1
以编程方式执行,例如这(C#):
System.Diagnostics.EventLog.Delete("WrongNamedEventLog");
不过,您不必编译 C# 应用程序来执行此操作,只需Delete(string logname)
从 PowerShell 调用该方法即可:
[System.Diagnostics.EventLog]::Delete("WrongNamedEventLog");
答案2
我没有测试过这个,但如果我是你的情况...
使用 regedit 浏览此路径,并删除你的自定义虚假日志:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\LogToDelete
重新启动
然后从以下位置删除相应的文件:
C:\Windows\System32\winevt\Logs
和/或
C:\windows\system32\config