Logparser 能否查询 2008 年更新的日志文件类型

Logparser 能否查询 2008 年更新的日志文件类型

我正在研究一个问题,想使用 Logparser 远程查询许多远程服务器中较新的 2008 日志类型之一。我想查询设置日志,而不是应用程序、系统、安全性。Logparser 似乎不了解这些新的日志类型,而且我无法找到不使用某些黑客手段来做到这一点的方法。

我看过一些关于其他黑客攻击的帖子,这些黑客攻击使之成为可能。因为我需要查询大约 100 台服务器,所以我找到的黑客攻击并不理想。在查询之前使用 Wevtutil 转换整个文件效率低下,并且不适用于远程对多台机器执行此操作。将注册表项添加到 HKLM\SYSTEM\CurrentControlSet\services\eventlog 很繁琐,因为每次您想要查询这些新日志类型中的一种时,您都需要新键。

使用 EVTX 文件的完整路径会将其视为文本,并且不会产生有用的输出。将输入指定为 EVT 会导致文件正在使用错误。查询是从 2008 R2 机器进行的,另一篇帖子说 Logparser 将支持 EVTX 文件。是否有可能在没有这些黑客的情况下远程使用 Logparser 来处理这些较新的日志?

PS C:\> .\LogParser.exe "SELECT * FROM \\NOBODY\admin$\System32\winevt\Logs\setup.evtx"
WARNING: Input format not specified - using TEXTLINE input format.
LogFilename                                        Index Text
-------------------------------------------------- ----- -------
\\NOBODY\admin$\System32\winevt\Logs\Setup.evtx 1     ElfFile
\\NOBODY\admin$\System32\winevt\Logs\Setup.evtx 2     ♦A  à
\\NOBODY\admin$\System32\winevt\Logs\Setup.evtx 3     ╫
Press a key...
Task aborted by user.

PS F:\apps\Logparser> .\LogParser.exe /i:evt "SELECT * FROM \\NOBODY\admin$\System32\winevt\Logs\setup.evtx"
Task aborted.
Cannot open <from-entity>: Error opening event log "\\?\UNC\SDCBOOP22\admin$\
  System32\winevt\Logs\Setup.evtx": The process cannot access the file
  because it is being used by another process.

PS C:\> .\LogParser.exe /i:evt "SELECT * FROM \\NOBODY\Setup"
Error: Error retrieving files: Error searching for files in folder \\NOBODY\Setup: The network na
me cannot be found.

PS C:\> .\LogParser.exe "SELECT * FROM \\NOBODY\Setup"
WARNING: Input format not specified - using TEXTLINE input format.
Task aborted.
Cannot open <from-entity>: Error opening files: Error searching for files in
  folder \\NOBODY\Setup: The network name cannot be found.

答案1

使用 LogParser 的 /i:EVT 选项是正确的,但你显然没有读取输出 - 它清楚地表明The process cannot access the file because it is being used by another process.

您无法访问正在运行的计算机的日志文件 - 这些文件已被事件日志服务锁定。如果您需要查询来自实时计算机的事件,请考虑访问VSS 快照锁定不会成为问题,或者使用针对事件日志的 WQL 查询而是。由于您无论如何都在使用 PowerShell,因此使用系统.诊断.事件日志课程也应该能带你到达那里。

相关内容