如何解码 Windows 事件日志条目中的“故障应用程序启动时间”?

rav*_*ven 8 windows time event-log event-viewer

我正在运行的一个应用程序崩溃了,我想知道它何时发生,所以我打开了 Windows 事件查看器并查找了一个条目。我找到了条目,然后注意到条目的一个细节是这样的:

Faulting application start time: 0x01ccfe1e3e206d42
Run Code Online (Sandbox Code Playgroud)

很酷,我想,因为我还想知道应用程序执行了多长时间。如何破译该十六进制字符串并将其转换为日期和时间?

ste*_*mcc 8

在 Powershell 中,发出以下命令,替换十六进制序列:

[datetime]::FromFileTime(0x01ccfe1e3e206d42)

9 March 2012, 19:58:33
Run Code Online (Sandbox Code Playgroud)

答案是当地时间,以匹配事件查看器中的时间(在芬兰,三月份我们位于 UTC 以东 2 小时)。要以 UTC 时间显示它,请添加UTC到方法名称:

[datetime]::FromFileTimeUTC(0x01ccfe1e3e206d42)

9 March 2012, 17:58:33
Run Code Online (Sandbox Code Playgroud)


jon*_*n Z 4

  1. Powershell中,您可以发出以下命令:

    get-date 0x01ccfe1e3e206d42    
    
    Run Code Online (Sandbox Code Playgroud)

    0x01ccfe1e3e206d42替换为您在事件日志中找到的值。

  2. 或者,您可以切换到事件属性的“详细信息”选项卡,您将在其中找到人类可读格式的“创建时间”。例如2012-01-12T13:33:38.171Z

  • 方法1不正确,时间跨度是1601年。在方法 2 中,“CreationTime”是记录事件的时间,但在 Utc 时间中,它不是应用程序启动时间,记录事件的时间显示在“日期和时间”列中,以本地时间测量。 (4认同)