我在我的 Windows 2003 服务器上运行了几个 Windows 计划任务,有时其中一个任务由于某种原因被挂起,并且状态保持在“正在运行”。我正在寻找一些基本脚本来“获取所有 RUNNING 的列表服务器 XXXXXX 上的作业超过 XX 分钟。”
一些帮助?
我在我的 Windows 2003 服务器上运行了几个 Windows 计划任务,有时其中一个任务由于某种原因被挂起,并且状态保持在“正在运行”。我正在寻找一些基本脚本来“获取所有 RUNNING 的列表服务器 XXXXXX 上的作业超过 XX 分钟。”
一些帮助?
您必须改用 schtasks /query 。Win2k3 没有 Schedule.Service COM 对象。它只是 Win2k8\Win7 的一部分。
尝试这个:
$servername = "localhost"
$schedule = new-object -com("Schedule.Service")
$schedule.connect($servername)
$tasks = $schedule.getfolder("\").gettasks(0)
$tasks | Where-Object {$_.State -eq 4} |select name, lastruntime
这将返回所有正在运行的任务以及它们的启动时间
尝试$SchedService = new-object -ComObject Schedule.Service