我们有几台服务器,上面有数百个计划任务......找到合适的维护窗口变得很困难。
是否有某种工具允许以图形方式表示 Windows 任务计划程序事件(如甘特图)?
除此之外,我一直在摆弄 Powershell 来自己实现该工具,使用get-scheduledtask
and get-scheduledtaskinfo
,但是虽然他们确实提供了属性LastRunTime
and NextRunTime
,我找不到有关的信息duration一个任务的。
我的意思是,如果我在上午 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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)