如何获取正在运行的进程的历史记录

zzy*_*zzy 24 windows history

我需要了解哪些进程在我的 Windows 机器上运行,以及它们何时运行。但是,我不能使用任何第三方软件,因为我不能保证它会一直运行。

有没有办法只使用 Windows 内置功能来获取这些信息?

Jam*_*han 30

当然。您可以使用 Windows 的内置事件日志记录(假设您使用的不是一些没有它的廉价版本)。

  1. Win+R并输入gpedit.msc打开组策略管理器
  2. 在左窗格中,导航到

    本地计算机策略\计算机配置\Windows 设置\安全设置\本地策略\审计策略

  3. 在右侧窗格中,双击“审核流程跟踪”并选中两个框

从现在开始,所有进程的创建和删除(以及失败的尝试)都将出现在安全日志中。

要查看它们,请运行事件查看器。(点击 Windows 键并开始输入“事件查看器”。)在左窗格中展开“Windows 日志”子树并单击“安全”。将显示所有安全事件。

在右侧窗格中,您可以设置过滤器以查找诸如 4688 或 4689 之类的事件 ID,或任何其他受支持的条件。

您可能会考虑启用故障记录,因为您正在寻找“运行了什么以及何时运行”,并且如果进程创建失败,则什么都没有运行……但这取决于您。

您也不仅限于阅读屏幕上的事件日志。Windows“计划任务”可由与您指定的条件匹配的事件日志条目触发。您还可以使用 PowerShell 脚本(当然,也可以使用普通程序)读取事件日志,并根据您找到的内容执行操作。

注意:David Postill 的回答提供了有关某些事件代码等的更多详细信息。不要忽略它!


Dav*_*ill 12

如何获取正在运行的进程的历史记录

默认情况下没有这样的历史记录,也没有记录在任何地方。

但是,您可以在 Windows 安全事件日志中启用进程跟踪事件。

这将为您提供所需的信息。

笔记:


如何在 Windows 安全日志中使用进程跟踪事件

在 Windows 2003/XP 中,您只需启用进程跟踪审核策略即可获得这些事件。

在 Windows 7/2008+ 中,您需要启用 Audit Process Creation 和可选的 Audit Process Termination 子类别,您可以在组策略对象的 Advanced Audit Policy Configuration 下找到这些子类别。

这些事件非常有价值,因为它们提供了系统上任何可执行文件每次作为进程启动时的全面审计跟踪。您甚至可以通过使用在两个事件中找到的进程 ID 将进程创建事件链接到进程终止事件来确定进程运行了多长时间。这两个事件的示例如下所示。

在此处输入图片说明

如何在 Windows 安全日志中使用进程跟踪事件


如何启用审计流程创建

  1. 运行 gpedit.msc

  2. 选择“Windows 设置”>“安全设置”>“本地策略”>“审核策略”

    在此处输入图片说明

  3. 右键单击“审核过程跟踪”并选择“属性”

  4. 勾选“成功”并点击“确定”

    在此处输入图片说明


什么是审计过程跟踪

此安全设置确定操作系统是否审核与进程相关的事件,例如进程创建、进程终止、句柄重复和间接对象访问。

如果定义了此策略设置,管理员可以指定是仅审核成功、仅审核失败、成功和失败,还是根本不审核这些事件(即既不成功也不审核)。

如果启用了成功审核,则每次操作系统执行这些与流程相关的活动之一时都会生成一个审核条目。

如果启用了故障审核,则每次操作系统未能执行这些活动之一时都会生成一个审核条目。

默认:无审计

重要提示:要对审核策略进行更多控制,请使用“高级审核策略配置”节点中的设置。有关高级审核策略配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=140969


进一步阅读


归档时间:

查看次数:

62738 次

最近记录:

7 年,11 月 前