WMI 命令行事件日志访问

WMI 命令行事件日志访问

有人可以解释一下如何访问eventlog服务文件中的任意系统日志吗?


现在我正在研究 WMI(wmic.exe)并尝试执行以下命令:

对于应用程序等系统服务,这种方法可以正常工作:

WMIC NTEVENT 其中“LogFile='应用程序'”

并且具有以下语法的其他日志文件失败。

WMIC NTEVENT 其中“LogFile ='Microsoft-Windows-CAPI2 / Operational'”

导致:

No Instance(s) Available.

有人可以分享完成这项工作的实际命令或有关此类内容的任何教程吗?

答案1

我总是使用 powershell 来做这些事情;有很多 cmdlet 可以帮助以有用的方式提取这些数据,并且有无数的在线脚本可以为您提供您可能需要的任何内容。

笔记:我在 Windows 8 和 Server 2012 上测试过这些,它们运行良好。您没有指定操作系统。您还需要以管理员身份运行 Powershell。

最简单的方法是查看事件查看器(eventvwr.exe),然后右键单击 ->特性在要解析的日志上。找到日志路径,您可以像这样简单地查询日志:

get-winevent -path <full_path_to_logfile.evtx>

作为示例,您可以尝试这个,它应该存在于您的 Windows 机器上:

get-winevent -path C:\Windows\System32\winevt\Logs\Security.evtx

Get-winevent 是一个内置的 cmdlet,因此您应该可以使用它。您可以使用常规 powershell 逻辑来仅删除您喜欢的部分,或将它们传输到文件,或许多其他有趣的东西。希望这能有所帮助!

相关内容