windows - 获取有关 Windows 计划任务持续时间(执行时间)的信息
问题描述
我们有几台服务器,上面有数百个计划任务……找到合适的维护窗口变得越来越困难。是否有一些工具允许 Windows 任务调度程序事件的图形表示(如甘特图)?
除此之外,我一直在摆弄 Powershell 自己使用get-scheduledtask
and来实现该工具get-scheduledtaskinfo
,但是虽然它们确实提供了属性LastRunTime
and 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
}
}
推荐阅读
- uipath - 检查 UiPath 中的空数据表
- python - 如何从 VGG 层创建 Keras Model()
- java - 防止 jar 在网络驱动器上运行
- angular - 在 ngBootstrap 中将 EventEmitter 从子组件发送到父组件
- android - 应用程序在打开错误时崩溃:无法启动活动组件信息
- javascript - 执行量角器测试时“失败:等待量角器与页面同步时出错”
- python - 使用python对混合数据进行聚类
- c# - XAML 绑定中的 IntelliSense 自动完成强制类型
- mysql - 如何从 MySQL 表中的多个列中获取指定最小长度的所有不同单词?
- c++ - 通过 const& 获取参数并通过 const& 返回的函数的生命周期延长