1

我有幾個Windows計劃任務運行在我的Windows 2003服務器上,有些時候這些任務之一由於某種原因而被激活,並且狀態保持「正在運行「..我在尋找的是一些基本的腳本,」讓服務器XXXXXX上的所有RUNNING作業列表超過XX分鐘「。我需要一個PowerShell腳本來監控超過X分鐘的運行Windows Shedule任務

有幫助嗎?

+0

任何帶有完整源代碼的最終解決方案? – Kiquenet 2012-09-10 08:38:34

回答

1

試試這個:

$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 

這將返回所有正在運行的任務,他們開始

+0

謝謝...我會嘗試並讓你知道。 – Santos 2012-03-15 15:23:23

+0

我得到這個:New-Object:無法加載COM類型Schedule.Service。 在線:2 char:23 + $ schedule = new-object <<<< -com(「Schedule.Service」) + CategoryInfo:InvalidType:(:) [New-Object],PSArgumentException + FullyQualifiedErrorId:CannotLoadComObjectType ,Microsoft.PowerShell.Commands.NewObjectCommand – Santos 2012-03-15 15:27:52

+0

我確認我喜歡Windows 2003 R2 Server Enterprise Ed。 SP2 – Santos 2012-03-15 15:29:00

2

你必須使用的schtasks /查詢,而不是時間。 Win2k3沒有Schedule.Service COM對象。它只是Win2k8 \ Win7的一部分。

0

嘗試$SchedService = new-object -ComObject Schedule.Service

相關問題