powershell脚本实现添加、修改任务计划的例子

发布时间:2020-09-09编辑:脚本学堂
本文介绍了powershell脚本实现添加、修改任务计划的方法,powershell操作、设置任务计划的例子,学习powershell编程的入门实例,感兴趣的朋友参考下。

powershell可以读取或修改计划任务所有信息。

以下代码在windows7,windows 2008上测试的,貌似windows2003好像有一些区别的。

例子,修改microsoftwindowsracractask这个任务的ractimetrigger触发器,设置它为enable状态。

思路:
首先,创建对象,连接到任务计划程序。
然后,找到任务的目录和任务本身。
通过任务的定义获取任务的触发器,找到RACTimeTrigger触发器之后,设置它的Enable属性为$true。
最后将对象更新到任务计划程序中。

具体步骤:
 

复制代码 代码示例:
# 首先连接到任务计划程序
$service = New-Object -ComObject Schedule.Service
$service.Connect($env:COMPUTERNAME)
# 选择指定目录下的某个任务,小编这里测试使用MicrosoftWindowsRACRACTask这个任务:
$folder = $service.GetFolder('MicrosoftWindowsRAC')
$task = $folder.GetTask('RACTask')
# 获取任务的“定义”,通过定义获取任务的“触发器”,再从触发器中选择ID为“RACTimeTrigger”的触发器,最后把它设置为Enable(启用)的状态。
$definition = $task.Definition
$definition.triggers |
 Where-Object { $_.ID -eq 'RACTimeTrigger' } |
 ForEach-Object { $_.Enabled = $true }
#注意,这里的更新只是更新了powershell缓存的对象的属性,并未真正更新到Schedule.Service(任务计划程序)
 
# 将更新写回到任务计划程序
$folder.RegisterTaskDefinition($task.Name, $definition, 4, $null, $null, $null)
#注意:上面参数中的4表示Update。而RegisterTaskDefinition() 函数的返回值是$task这个任务的Definition。