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

PowerShell可以读取或修改计划任务所有信息。不过请注意,小编是在Windows7,Windows 2008上测试的,貌似Windows2003好像有一些区别的。

下面来举个例子,小编要演示的是修改\Microsoft\Windows\RAC\RACTask这个任务的RACTimeTrigger触发器,设置它为Enable状态。大致的思路是首先创建对象,连接到任务计划程序。然后找到任务的目录和任务本身。再下来通过任务的定义获取任务的触发器,找到RACTimeTrigger触发器之后,设置它的Enable属性为$true。最后将对象更新到任务计划程序中。下面看具体步骤:

复制代码 代码如下:

# 首先连接到任务计划程序
$service = New-Object -ComObject Schedule.Service
$service.Connect($env:COMPUTERNAME)

# 选择指定目录下的某个任务,小编这里测试使用\Microsoft\Windows\RAC\RACTask这个任务:
$folder = $service.GetFolder('\Microsoft\Windows\RAC')
$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。

关于任务计划程序的修改,小编就演示这么多。

 

时间: 2024-08-01 02:31:07

PowerShell脚本实现添加、修改任务计划的例子_PowerShell的相关文章

PowerShell脚本开发之批量扫描IP和端口_PowerShell

前面的文章中曾经发布了对指定IP进行批量端口扫描的方法和脚本,过PowerShell收发TCP和UDP消息包的方法以及通过PowerShell尝试登录SQLServer服务的方法,这构成了PSNet程序集用于通过PowerShell对网络状态进行操作.最近在不断尝试之下,找到了对指定范围的IP段进行扫描和对端口进行扫描的方法,本文将会介绍如何通过PowerShell批量扫描IP及其对应的端口. 依然在PSNet程序集的基础上进行扩展,首先在$env:PSSpace/PSNet/TCPOp下创建脚

PowerShell脚本中控制Windows DNS服务的方法_PowerShell

PowerShell可以很方便的操作WMI,而DNS服务又提供了很好的WMI支持,所以,PowerShell可以通过操作WMI来操作Windows DNS服务. 1.获取DNS对象. 复制代码 代码如下: PS> $mydns = [WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord" 2.创建解析记录,使用CreateInstanceFromTextRepresentation方法. 复制代码 代码如下: PS>

PowerShell中使用通配符匹配文件路径的例子_PowerShell

星号(*)在DOS的时代,就是通配符(英文叫Wildcard)的代表.从DOS到Windows,再到PowerShell,星号一如既往的坚守在通配符的岗位上. 简单看个例子: 复制代码 代码如下: PS [zhanghong] >dir d:\*.vbs    目录: D:\ Mode                LastWriteTime     Length Name ----                -------------     ------ ---- -a---      

PowerShell函数参数设置成自动识别数据类型的例子_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,怎么设置系统自动识别参数的数据类型. 识别参数类型的一个好处就是,在使用参数集时,不需要每次都指定参数名称了. 请看下面这个Test-Binding函数.这个PowerShell函数在设置参数集的时候,为参数集中的第一个参数设置了数据类型,这样在调用函数时,就可以自动判断一个参数值它应该赋给哪个参数了. 复制代码 代码如下: function Test-Binding {     [CmdletBinding(DefaultParameter

PowerShell中使用Get-Alias命令获取cmdlet别名例子_PowerShell

PowerShell中为了与原来的cmd命令保持兼容,特别为很多cmdlet设置了别名.这些别名跟cmd命令是同名的,但它代表着一个PowerShell中的cmdlet.比如dir这个cmd命令,它用于列出一个目录下的子文件夹和文件,在PowerShell有一个Get-ChildItem的cmdlet,它的作用也是列出一个目录下的子文件夹和文件,于是微软就给Get-ChildItem设置了一别名叫dir. 在PowerShell中,使用Get-Alias这个cmdlet,可以列出所有的别名,以及

PowerShell函数中限制数组参数个数的例子_PowerShell

本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数.数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数. PowerShell函数可以接受数组作为输入参数.而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'.这个函数的定义如下: 复制代码 代码如下: functi

web脚本语言开发-web脚本语言怎样修改我想要的?SwitchySharp插件批量添加情景模式

问题描述 web脚本语言怎样修改我想要的?SwitchySharp插件批量添加情景模式 我有段在什么浏览器控制台运行的脚本语言,它运行的目的是批量添加 很多 ip地址和端口,现在我想把端口后面的名字也加上去,该怎么修改代码? (function(Settings){var p = Settings.getObject('profiles'); var t = p['template']; window.prompt().split(';').forEach(function(proxy) { p

如何运行PowerShell脚本

  新版本的PowerShell随着Windows Server 2012 R2到来.现在,使用PowerShell 4.0的唯一途径就是获取并使用Windows Management Framework 4.0. PowerShell在Windows虚拟化任务方面能发挥最大帮助和用途.现在网上有关于此话题的资料库,最热的是TechNet博客中的一个五部分的系列文章.通过这些信息,你可以找到大量有关PowerShell脚本自动化多虚拟化设置.配置和维护任务的相关细节. TechNet系列文章提供

windows通过脚本文件添加站点的方法

我们公司新上线了一个OA系统,需要设置信任站点以及Active加载项才可以正常浏览访问.如果在没有域环境或者有很多分公司,那么通过脚本的方法,让客户端下载后,双击运行便可以设置成功.这样的方式将大大提高用户的体验满意度和我们的工作效率.将文本复制后保存,设置为.bat文件,修改相应所需的网站名称即可.嘿嘿,很简单吧! 脚本如下: @echo off reg delete "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZon