2015-12-08 48 views
2

我想刪除網絡上多臺計算機上的「非本地」計劃任務。這些任務的名稱會有所不同(具體取決於用戶安裝的軟件),但它們都位於計劃任務應用程序的root \文件夾中。從Windows的文件夾中刪除非本地計劃任務

使用schtasks /delete /tn * /f將刪除這些任務,但它也會進入任務子目錄並刪除所有本機窗口任務,我相信這不會是一件好事!

我試過了/tn "\*"等的變體,但schtasks不接受這個輸入。

似乎有一些可以做到這一點的PowerShell代碼,但它似乎只適用於Windos 8及以上版本。我的很多機器仍然是windows 7.

我該如何解決這個問題?

回答

1

你可以使用一個Task Scheduler Scripting Object

# Create the scripting object 
$TaskScheduler = New-Object -ComObject Schedule.Service 

# Connect to the task scheduler library on the local machine 
$TaskScheduler.Connect('localhost') 

# Retrieve all (non-hidden) tasks from the root folder 
$RootFolder = $TaskScheduler.GetFolder('\') 
$Tasks = $RootFolder.GetTasks(0) 

# Iterate over each task and delete it 
foreach($Task in $Tasks){ 
    $RootFolder.DeleteTask($Task.Name,$null) 
}