我正在寻找一个可以运行以禁用任务计划程序作业(内部禁用 .bat 文件)的 powershell 脚本,该脚本可以在我们提到脚本的时间戳之间禁用。使用 Powershell 脚本是否可行?
任何帮助表示赞赏!
我正在寻找一个可以运行以禁用任务计划程序作业(内部禁用 .bat 文件)的 powershell 脚本,该脚本可以在我们提到脚本的时间戳之间禁用。使用 Powershell 脚本是否可行?
任何帮助表示赞赏!
我将首先使用带有 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
在 Windows Server 2008 及更高版本中,您可以使用SCHTASKS
COM 对象Schedule.Service
以更加面向对象的方式操作任务。有关同时使用SCHTASKS
和Schedule.Service
. 任务计划程序的 COM 接口记录在http://msdn.microsoft.com/en-us/library/aa383608(v=vs.85 )
仅限 Windows 2012 / 8.1 及更高版本 https://technet.microsoft.com/en-us/library/jj649816%28v=wps.630%29.aspx