我有一些使用计划任务每天运行的PowerShell脚本,计划任务是使用PowerShell本身创建的,并且都运行得很好。
我希望能够将设置添加到计划任务中,如下所示:
我希望能够更改设置->停止任务,如果它运行超过3天。
我能以某种方式改变这个设置吗,我已经设法在PowerShell中创建了计划任务,我可以改变触发器,动作等等,但我看不到如何影响设置,除非在任务调度器中手动改变它们。
发布于 2014-05-24 01:13:42
来自以下链接的帮助:
http://powershell.com/cs/blogs/tips/archive/2013/06/21/changing-scheduled-tasks-with-powershell.aspx
解决方案:
$service = New-Object -ComObject Schedule.Service
# Can connect remotely as well, currently doing it local
$service.Connect($env:COMPUTERNAME)
# navigate to desired folder where the scheduled task is in TaskScheduler
$folder = $service.GetFolder('\Microsoft\Windows\XXX_DestinationFolder_XXX')
# Get the desired task
$task = $folder.GetTask('XXX_TaskName_XXX')
$definition = $task.Definition
# Incase you are interested in changing more settings
# $definition | Get-Member
# for 10 days it is 'P10D', by default it is 3 days so it will be 'P3D'
$definition.Settings | Where-Object {$_.ExecutionTimeLimit = 'P10D'}
# finally updating
$folder.RegisterTaskDefinition($task.Name, $definition, 4, $null, $null, $null)
发布于 2015-11-10 00:04:12
如果可以升级到PowerShell 4.0或更高版本,则可以使用ScheduledTask CMDlets创建/更新它们。以下是更改时间限制的示例:
$STSet = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 72:00:00
Set-ScheduledTask ScheduledTaskName -Settings $STSet
https://stackoverflow.com/questions/22781917
复制相似问题