2014-04-01 28 views
0

我有一些使用計劃任務每​​天運行的PowerShell腳本,計劃任務是使用PowerShell本身創建的,並且工作得非常好。尋找關於如何從powershell更改計劃任務的設置的信息

標識希望能夠添加一個設置爲計劃任務如下: -

我希望能夠改變設置 - >停止任務,如果它運行超過3天。

我可以改變這種設置,我設法在PowerShell中創建計劃任務,我可以更改觸發器,操作等,但我不能看到如何影響設置,而無需在任務調度程序內手動更改它們。從下面的鏈接

回答

0

幫助:

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) 
0

如果你可以升級到PowerShell的4.0或更高版本,可以使用ScheduledTask CMDlets創建/更新他們。以下是更改時間限制的示例:

$STSet = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 72:00:00 
Set-ScheduledTask ScheduledTaskName -Settings $STSet 
相關問題