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

问题描述:

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

任何帮助赞赏!

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

参数的神奇解码器环:/查询是

我会用可执行文件CSV格式输出的方便,花花公子的schtasks获取对象回来了所有预定任务的信息开始操作,/ V是详细输出,/ FO CSV是输出格式。现在,它是一个对象,你可以很容易地筛选找到你正在寻找的任务(一个或多个):

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

,然后可以很容易地启用或禁用任务,再次使用schtasks的可执行文件:

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

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

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

+0

喜Goyuix,我'很新的Poweshell,所以你问我将在步骤2中的csv文件有所有我想禁用的批处理文件?请帮助我从实际代码开始 – user1411254 2012-07-12 16:24:43

+0

步骤1生成CSV,并将其存储在$ tasks变量中。第2步只是使用步骤1中的$ tasks变量作为数据源,并应用过滤器来获取TaskName等于“我的批处理文件”的任务记录 - 您希望用适合脚本的任何内容替换该名称。 – Goyuix 2012-07-12 18:42:56

+0

太棒了!它的工作,但脚本问我'请输入​​作为服务器\ userid的密码运行有没有办法我们可以绕过这一步,可以禁用任务? – user1411254 2012-07-12 18:54:03

随着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记录)仅