2012-07-05 110 views
1

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

任何帮助赞赏!

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

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

回答

3

我会用可执行文件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

相关问题