提问人:Chris 提问时间:8/24/2023 更新时间:8/24/2023 访问量:12
如何获取查询的 CIM 指示事件的创建时间和处理该事件的当前时间?
How do I get the time a queried CIM Indication Event was created and the current time when it is handled?
问:
上下文:在 Windows CIM 指示事件引擎中__InstanceCreationEvent
我已注册接收 (docs),并且正在检查属性 (PSEventArgs 文档)。这是我的零时间。我想计算从那时起的增量时间。__InstanceCreationEvent
TimeGenerated
这将是我的代码处理事件的时间。
$event = Register-CimIndicationEvent -SourceIdentifier "Foo" -Query "$myQuery" -Action {
$targetInstance = $eventArgs.NewEvent.TargetInstance
$eventZeroDateTime = $eventArgs.TimeGenerated # ostensibly a DateTime object
$eventZero = Get-Date ($eventZeroDateTime).ToUniversalTime() -UFormat %s
$actionZero = Get-Date (Get-Date).ToUniversalTime() -UFormat %s
$deltat = $actionZero - $eventZero
Write-Verbose "Delta T: $deltat"
}
寻求的解决方案:
ChatGPT:我问过这个问题,它经常给我一个合理但可变的方程式,用于计算自 1601 年 1 月 1 日以来的滴答次数(滴答 = 100 纳秒)。这是一种正确的方法(尽管方程是错误的),但 __InstanceCreationEvent 类的参数是 Tick 时间中的唯一参数。我现在不需要滴答时间,除了调用之外,我不知道如何访问它(这是一种未记录的方法,我怀疑当时会创建一个新事件,与原始事件的创建时间无关)。无论哪种方式,自事件创建以来导致滴答时间的答案将是 X 问题的 Y 答案。
TIME_CREATED
$eventArgs.NewEvent.TIME_CREATED
仔细阅读了有关该主题的 Microsoft 文档
使用块进行猜测和检查
Action
答: 暂无答案
评论