首页/安全/取证与溯源速查/EVTX 时间字段:TimeCreated 与事件内时间
Windows 取证55 条

EVTX 时间字段:TimeCreated 与事件内时间

事件日志有系统写入时间 TimeCreated,事件数据里还可能带业务时间字段(如 Sysmon UtcTime),两者语义不同,分析时先看 XML 字段名再取数。

取证与溯源速查安全更新于 2026-10-13

EVTX 的两类时间字段

事件日志里存在两类时间:一类是日志服务写入该事件的时间,另一类是事件数据内部记录的、动作实际发生的时间,例如进程创建时刻。两者语义不同,在跨机器汇聚或日志延迟写入时会出现明显偏差。分析前先看 XML 里的字段名,再决定取哪一个。

基本信息

系统写入时间日志服务在记录时打上,受系统时钟与写入延迟影响
事件内时间由提供程序写入事件数据,字段名随组件不同
混淆风险两者都可能是时间字符串,取错会把事件挂到错误时刻
推荐做法按 XML 字段名解析,不按固定下标取属性
对照方式与文件时间、抓包时间互为旁证

典型使用场景

  • 分析执行类事件时取动作实际发生的时间
  • 排查日志延迟写入造成的时间偏差
  • 编写批量解析脚本时按字段名取值,保证稳健
  • 与文件系统时间对齐,构建统一时间线
  • 在报告中说明时间来源,支撑置信度判断

查看字段结构

查看字段结构
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; Id=1} -MaxEvents 1 | ForEach-Object { $_.ToXml() } | Select-String 'UtcTime|TimeCreated'
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 1 | Select-Object TimeCreated, Id
# 批量取值时按 XML 字段名解析,不要按属性下标取
# 取到的时间再与文件时间或抓包时间做单点比对

两类时间对照

时间来源使用场景
系统写入时间日志服务的记录时刻判断日志延迟与汇聚过程
事件内时间事件数据中的时间字段判断动作实际发生的时刻
两者偏差小写入及时优先采用事件内时间
两者偏差大日志延迟或时钟调整两处都要记录并说明原因
不同提供程序的事件数据结构不同,属性顺序也不同:脚本按固定下标取值,在组件升级或版本差异下必然错位。按字段名解析虽然写得稍长,但长期可用。
事件内时间由提供程序写入,没有经过日志服务校验,理论上可被伪造,也会受系统时钟影响。把关键结论建立在单一时间字段上风险较高,需要与独立来源交叉验证后再采用。

易错点

  • 把系统写入时间当作动作发生时间,事件被挂到错误的时刻
  • 脚本按属性下标取值,提供程序升级后字段整体错位
  • 忽略时钟同步状态,把时间偏差直接误判为篡改
  • 只用一个时间字段支撑关键结论,未做交叉验证

数据来源与参考

  • Microsoft Learn(EventLog XML 结构)
  • Sysmon 官方文档(事件字段)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌