如何使用PowerShell脚本禁用任务计划程序作业

时间:2012-07-05 21:30:52

标签: powershell

我正在寻找一个PowerShell脚本,可以运行它来禁用任务调度程序作业(内部禁用.bat文件),该脚本可以在我们提到脚本的时间戳之间禁用。是否可以使用Powershell脚本?

任何帮助表示赞赏!!

3 个答案:

答案 0 :(得分:3)

我首先使用带有CSV格式输出的方便花哨的SCHTASKS可执行文件来获取一个包含所有计划任务信息的对象:

$tasks = & SCHTASKS /Query /V /FO CSV | ConvertFrom-Csv

魔术解码器环的参数:/ Query是操作,/ V是详细输出,/ FO CSV是输出格式。现在它在一个对象中,您可以轻松过滤以查找您正在寻找的任务:

$task = $tasks | ? { $_.TaskName -eq "My Batch File" }

然后再次使用SCHTASKS可执行文件,可以轻松启用或禁用任务:

& SCHTASKS /Change /DISABLE /TN "$Task.TaskName"

您可以使用相同的代码轻松再次启用任务,只需将/ DISABLE替换为/ ENABLE即可。 SCHKTASKS是一个非常强大的工具,可用于创建和操作计划任务。

参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357.aspx

答案 1 :(得分:1)

使用Windows Server 2008&更新,您可以使用SCHTASKS或COM对象Schedule.Service以更面向对象的方式操作任务。有关同时使用SCHTASKSSchedule.Service的示例,请参阅http://letitknow.wordpress.com/2011/05/20/create-scheduled-task-by-using-powershell/。任务计划程序的COM接口记录在http://msdn.microsoft.com/en-us/library/aa383608(v=vs.85

答案 2 :(得分:0)