我如何禁用使用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
答
随着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记录)仅
喜Goyuix,我'很新的Poweshell,所以你问我将在步骤2中的csv文件有所有我想禁用的批处理文件?请帮助我从实际代码开始 – user1411254 2012-07-12 16:24:43
步骤1生成CSV,并将其存储在$ tasks变量中。第2步只是使用步骤1中的$ tasks变量作为数据源,并应用过滤器来获取TaskName等于“我的批处理文件”的任务记录 - 您希望用适合脚本的任何内容替换该名称。 – Goyuix 2012-07-12 18:42:56
太棒了!它的工作,但脚本问我'请输入作为服务器\ userid的密码运行有没有办法我们可以绕过这一步,可以禁用任务? – user1411254 2012-07-12 18:54:03