WMI命令行事件日志访问

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


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

对于像应用程序这样的系统服务来说,

WMIC NTEVENT WHERE“LogFile ='application'”

另一个具有以下语法的日志文件失败。

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

导致:

 No Instance(s) Available. 

有人可以分享工作指令来做这个工作或任何types的教程吗?

我总是使用PowerShell来处理这些事情。 有很多cmdlet可以帮助您以有用的方式提取这些数据,而且在线上有无数的脚本可以为您提供所需的任何内容。

注意 :我已经testing了这些在Windows 8和Server 2012上,他们工作正常。 你没有指定一个操作系统。 您还需要以pipe理员身份运行Powershell。

最简单的方法是查看事件查看器 (eventvwr.exe),然后右键单击 – >您想分析的日志上的属性 。 find日志path ,您可以简单地查询日志:

 get-winevent -path <full_path_to_logfile.evtx> 

举个例子,你可以试试这个,它应该存在于你的Windows机器上:

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

Get-winevent是一个内置的cmdlet,所以你应该有它可用的。 你可以使用常规的PowerShell逻辑去除只有你喜欢的部分,或者将它们传送到一个文件,或者其他很多有趣的东西。 希望这可以帮助!