1

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

任何帮助表示赞赏!

4

3 回答 3

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

于 2012-07-05T23:29:49.647 回答
1

在 Windows Server 2008 及更高版本中,您可以使用SCHTASKSCOM 对象Schedule.Service以更加面向对象的方式操作任务。有关同时使用SCHTASKSSchedule.Service. 任务计划程序的 COM 接口记录在http://msdn.microsoft.com/en-us/library/aa383608(v=vs.85 )

于 2012-07-06T10:55:12.130 回答
0

仅限 Windows 2012 / 8.1 及更高版本 https://technet.microsoft.com/en-us/library/jj649816%28v=wps.630%29.aspx

于 2015-07-13T08:28:44.910 回答