【问题标题】:Looking for info on how to change the settings on a scheduled task from powershell寻找有关如何从 powershell 更改计划任务设置的信息
【发布时间】:2014-04-01 09:35:25
【问题描述】:

我有一些每天使用计划任务运行的 PowerShell 脚本,计划任务是使用 PowerShell 本身创建的,并且运行良好。

我希望能够将设置添加到计划任务中,如下所示:-

我希望能够更改设置 -> 如果任务运行时间超过 3 天,请停止它。

我能否以某种方式更改此设置,我已设法在 PowerShell 中创建计划任务,并且我可以更改触发器、操作等,但我无法看到如何影响设置,而无需在任务计划程序中手动更改它们。

【问题讨论】:

    标签: scheduled-tasks powershell-3.0


    【解决方案1】:

    来自以下链接的帮助:

    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)
    

    【讨论】:

      【解决方案2】:

      如果您可以升级到 PowerShell 4.0 或更高版本,则可以使用 ScheduledTask CMDlets 创建/更新它们。以下是更改时间限制的示例:

      $STSet = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 72:00:00
      Set-ScheduledTask ScheduledTaskName -Settings $STSet
      

      【讨论】:

        猜你喜欢
        • 2021-05-25
        • 2010-09-25
        • 2012-02-22
        • 2016-11-19
        • 2013-12-30
        • 1970-01-01
        • 1970-01-01
        • 2023-01-05
        • 1970-01-01
        相关资源
        最近更新 更多