我正在寻找一个PowerShell脚本,可以运行它来禁用任务调度程序作业(内部禁用.bat文件),该脚本可以在我们提到脚本的时间戳之间禁用。是否可以使用Powershell脚本?
任何帮助表示赞赏!!
答案 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
以更面向对象的方式操作任务。有关同时使用SCHTASKS
和Schedule.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)
仅限Windows 2012 / 8.1及更高版本 https://technet.microsoft.com/en-us/library/jj649816%28v=wps.630%29.aspx