答案1
是否有一些 Windows 日志包含 PID 与正在运行的进程的关联
默认情况下没有这样的日志。但是,您可以在 Windows 安全事件日志中启用进程跟踪事件。
笔记:
解决方案需要使用 对组策略进行更改
gpedit
。不幸的是,组策略编辑器 (gpedit) 不包含在 Windows 的入门版、家庭版和家庭高级版中。
查看我的问答Windows Starter Edition、Home 和 Home Premium 不包含 gpedit,如何安装它?了解有关如何安装的说明。
如何使用 Windows 安全日志中的进程跟踪事件
在 Windows 2003/XP 中,您只需启用进程跟踪审计策略即可获取这些事件。
在 Windows 7/2008+ 中,您需要启用审计进程创建,并可选地启用审计进程终止子类别,您可以在组策略对象中的高级审计策略配置下找到它们。
这些事件非常有价值,因为它们提供了系统上任何可执行文件每次作为进程启动时的全面审计跟踪。您甚至可以通过使用在两个事件中找到的进程 ID 将进程创建事件链接到进程终止事件来确定进程运行了多长时间。下面显示了这两个事件的示例。
如何启用审计流程跟踪
运行 gpedit.msc
选择“Windows 设置”>“安全设置”>“本地策略”>“审核策略”
右键单击“审计进程跟踪”,并选择“属性”
勾选“成功”,点击“确定”
什么是审计流程跟踪
此安全设置确定操作系统是否审核与进程相关的事件,例如进程创建、进程终止、句柄重复和间接对象访问。
如果定义了此策略设置,管理员可以指定是否仅审核成功、仅审核失败、同时审核成功和失败,或者根本不审核这些事件(即既不审核成功也不审核失败)。
如果启用了成功审计,则每次操作系统执行这些与进程相关的活动之一时都会生成一个审计条目。
如果启用了失败审核,则每次操作系统无法执行这些活动之一时都会生成一个审核条目。
默认值:无审计
重要提示:要更好地控制审计策略,请使用高级审计策略配置节点中的设置。有关高级审计策略配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=140969。
答案2
唯一的查看方式是您必须启用审核来跟踪流程的创建。
从“本地安全策略”程序(secpol.msc
如果您找不到它,请从运行屏幕输入)转到“安全设置->本地策略->审计策略”,然后启用“审计过程跟踪”以获得“成功”。
完成后,转到事件查看器并检查“Secruity”事件日志,在那里您将看到每次启动或结束时进程的“审计成功”条目。
一个进程已经退出。 主题: 安全 ID:SYSTEM 账户名称:SCOTT-PC$ 帐户域:WORKGROUP 登录 ID:0x3E7 处理信息: 进程 ID:0x1338 进程名称:C:\Windows\System32\consent.exe 退出状态:0x0
您需要将要查找的进程 ID 从十进制转换为十六进制(3336 变为 0xD08)。最简单的转换方法是打开 Windows 计算器,进入“程序员”模式,在“十进制”模式下输入数字,然后单击“十六进制”模式。显示的数字将为您转换为十六进制。
答案3
如果这是一次性的事情,并且你不想总是记录你的进程,我建议使用 Microsoft Process Monitor (https://technet.microsoft.com/en-us/Library/bb896645.aspx)。它需要在流行进程产生之前运行,但即使在父进程死亡之后,它也会捕获您正在寻找的所有信息。