如何使用 Get-WinEvent 获取特定时间段之间的所有信息?

如何使用 Get-WinEvent 获取特定时间段之间的所有信息?

一些背景知识

我遇到了一些崩溃和冻结问题,希望能够更好地处理这些问题。为此,我想调查特定时间段内所有可用的事件和日志信息。

我很擅长什么时候发生了一些不好的事情,但没有为什么。因此,我想从特定的 15 分钟时间段(比如“2021 年 11 月 26 日 15:00”到“2021 年 11 月 26 日 15:15”)中提取所有可能相关的信息。

我发现很难使用内置的 Windows 事件查看器来访问这些信息,因为我无法弄清楚如何传递信息全部日志文件以紧凑的方式显示。 在此处输入图片描述

然后我了解到电源外壳(以管理员身份开始)和获取 WinEvent工具。但是,我迷失在文档中,无法实现我的主要目标:

如何创建包含特定时间段内所有(相关)日志条目的“过滤”文本文件?

经过一段时间的互联网浏览,我发现了一个部分的解决我的问题,复制粘贴我发现的一些单行代码: 在此处输入图片描述

Get-WinEvent -ListLog * | % {Get-WinEvent -FilterHashTable @{LogName=$_.LogName;StartTime="26-11-2021 15:00";EndTime="26-11-2021 15:15"; Level=(1,2,3) } -ea 0} | sort timecreated -des >> C:\temp\events.txt

这很有帮助,但是在不了解语法的情况下,我注意到了两个缺点:

  • 输出日志条目有时会被截断,例如: 在此处输入图片描述

  • 我好像没听懂全部条目。特别是,我知道在特定时间段内发生系统重启,并将在事件查看器中显示为严重/错误事件: 项目清单 但我无法在相同时间段内生成的文本输出中找到它。

所以这让我相信,我仍然没有找到实现我想要的东西的最佳方法。任何帮助都非常感谢。

相关内容