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。


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

PowerShell获取Windows用户列表、用户信息的方法
WMI是Windows管理规范的缩写,其中包含很多系统的软硬件信息。而Windows用户信息也可以通过WMI对象来获取。PowerShell提供了对WMI的访问功能,十分方便且

PowerShell把IP地址转换成二进制的方法
IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位。8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间。

PowerShell中常用的一些特殊运算符介绍
&,调用运算符。语法:&可执行文件路径[参数列表]举例:$execPath="D:Progra~1FlashFXPflashfxp.exe"$execArgs="-uploadftp://u:p@ip:21"$execArgs=$execArgs+"-remotepath=`"/`""$execA