获取有关Windows计划任务持续时间(执行时间)的信息 [英] Get informations on Windows Scheduled Task duration (execution time)
本文介绍了获取有关Windows计划任务持续时间(执行时间)的信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
除此之外,我一直在摆弄Powershell来使用get-scheduledtask
和get-scheduledtaskinfo
自己实现该工具,但是虽然它们确实提供了LastRunTime
和NextRunTime
属性,但我找不到有关任务的持续时间的信息。
我的意思是,如果我在早上9点开始一项任务,线程在9点10分返回,我确实在历史GUI中看到它运行了10分钟……但我不能使用PowerShell获得相同的信息。
有什么提示吗?
谢谢!
推荐答案
您要查找的信息没有作为任务的属性保存。您需要从任务历史记录中提取它。操作的开始和结束分别使用ID 200和201记录。
Get-WinEvent -FilterHashtable @{
'LogName' = 'Microsoft-Windows-TaskScheduler/Operational'
'ID' = 200, 201
} | Group-Object ActivityID | ForEach-Object {
$start = $_.Group |
Where-Object { $_.Id -eq 200 } |
Select-Object -Expand TimeCreated -First 1
$end = $_.Group |
Where-Object { $_.Id -eq 201 } |
Select-Object -Expand TimeCreated -First 1
New-Object -Type PSObject -Property @{
'TaskName' = $_.Group[0].Properties[0].Value
'StartTime' = $start
'Duration' = ($end - $start).TotalSeconds
}
}
这篇关于获取有关Windows计划任务持续时间(执行时间)的信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文