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。

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

(0)

相关推荐

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

    PowerShell可以读取或修改计划任务所有信息.不过请注意,小编是在Windows7,Windows 2008上测试的,貌似Windows2003好像有一些区别的. 下面来举个例子,小编要演示的是修改\Microsoft\Windows\RAC\RACTask这个任务的RACTimeTrigger触发器,设置它为Enable状态.大致的思路是首先创建对象,连接到任务计划程序.然后找到任务的目录和任务本身.再下来通过任务的定义获取任务的触发器,找到RACTimeTrigger触发器之后,设置它

  • 添加powershell脚本来解决nuget打包文件丢失问题

    对于进行nuget打包时,有时我们需要添加一个配置文件,就是一些文本文件,而这些文件我们在网站发布时需要同时复制到输出目录,否则会出现文件丢失的问题,我们在打包时通过添加powershell脚本来解决它. 一般添加powershell包之后,包的格式如下 添加-〉工具-〉install.ps1脚本 param($installPath, $toolsPath, $package, $project) $configItem = $project.ProjectItems.Item("log4.c

  • Powershell 脚本数字签名实现方法

    脚本很容易被冒名顶替或者更改,因为它们是由纯文本构成的.数字签名为脚本提供了更高的安全性,因为它能确定脚本和脚本的编辑者的唯一性,并且不能被更改.作为脚本的发布者,你能确定你的脚本没有被恶意篡改.即使专家也无能为力,因为这种机制是基于复杂逻辑的.幸运的是,在实际应用中,你不需要深究这些细节,只需要掌握Powershell脚本签名的机制和过程. 准备一个合适的证书 因为不能使用传统的纸质签名给Powershell脚本进行签名,你需要另一个工具"证书".证书就像一把私有并且安全的钥匙.证书

  • PowerShell脚本写的文件.ps1文件介绍

    .ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是".ps1"文件? 这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为"xxx.ps1",后面要使用它的时候,双击即可运行了.这有点像批处理的".bat"文件,也有点像VBScript的".vbs"文件.这些都是Wi

  • 自动设置安卓手机wifi代理的PowerShell脚本

    在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改安卓系统配置文件的方式来修改但是没有找到解决方案.最后决定针对自己的手机进行私人订制,缺点是只能针对固定机型进行设置,不过优点是脚本很好编写,可以很快的对自己平时使用的测试机进行定制(非Windows下的脚本编写过程类似). 利用adb命令编写PowerShell脚本 Windows下编写脚本用到了

  • Unity脚本自动添加头部注释的全过程

    目录 Unity脚本自动添加头部注释 1. 修改Unity模板 2. 通过代码修改为动态的 结语 Unity脚本自动添加头部注释 就是创建.cs文件时自动添加作者名,创建时间,文件名等 看示例,我们在Unity的project面板下先创建一个Scripts文件夹,然后在Scripts文件夹下创建一个脚本,命名为:Test.cs 然后就是这样: 因为这个是我已经成功的设置过了才会有这样的头部注释 1. 修改Unity模板 首先找到你的Unity的安装路径,找到这样的文件夹,文件名字是和版本相关的

  • asp批量添加修改删除操作示例代码

    核心代码: <title>asp批量添加修改删除操作示例</title> <% if request.Form("op")="update" then'表单提交 ids=request.Form("ids") if ids<>"" then response.Write "要删除的数据id集合:"&ids&"<br>"

  • PowerShell脚本监控文件夹变化实例

    本文介绍使用PowerShell来监视一个指定的文件夹,包括新建文件.删除文件.重命名文件等操作均会被监控或监视.本文使用了System.IO.FileSystemWatcher这个.NET对象.首先,我们来看看程序: 复制代码 代码如下: # 定义要监控的文件夹,这个文件夹必须先存在. $folder = 'D:\test' # 定义每次监控的间隔时间,这时定义为1000毫秒,即1秒 $timeout = 1000 # 创建文件系统监视对象 $FileSystemWatcher = New-O

  • 在cmd中直接运行PowerShell脚本文件的方法

    以前在cmd中执行powershell,我们都是这样: 复制代码 代码如下: PowerShell.exe -file a.ps1 现在想在cmd中这样执行: 复制代码 代码如下: a.ps1 此时需要将Powershell脚本的默认打开方式选择为Powershell.exe,可以鼠标右键操作. 也可以使用下面的cmd以管理员权限打开,然后运行命令: 复制代码 代码如下: ftype Microsoft.Powershellscript.1="%SystemRoot%\system32\wind

  • Powershell脚本中包含文件资源的例子

    Powershell3.0及以后版本. 如果你的脚本需要添加额外资源,比如文本中的服务器名.图片名等等,这时你需要考虑脚本的灵活性. 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路径(不支持2.0) 复制代码 代码如下: $picture = "$PSScriptRoot\Resources\picture.png" Test-Path -Path $picture   $data = "$PSScriptR

随机推荐