从Windows中的\文件夹中删除非本机计划任务

时间:2015-12-08 09:38:39

标签: windows powershell command-line scheduled-tasks

我想删除网络上多台计算机上的“非本机”计划任务。这些任务的名称各不相同(取决于用户安装的软件),但它们都位于计划任务应用程序的根\文件夹中。

使用schtasks /delete /tn * /f将删除这些任务,但它也进入任务子目录并删除所有本机窗口任务,我相信这不是一件好事!

我尝试了/tn "\*"等的变体。但schtasks不接受此输入。

似乎有一些在线的powershell代码可能会这样做,但它似乎只适用于windos 8及以上版本。我的很多机器仍然是Windows 7。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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)
}