Partilhar via


Set-ScheduledJobOption

Altera as opções de trabalho de um trabalho agendado.

Sintaxe

Set-ScheduledJobOption
   [-InputObject] <ScheduledJobOptions>
   [-PassThru]
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Description

O cmdlet Set-ScheduledJobOptions altera as opções de trabalho de trabalhos agendados.

Para alterar as opções de um trabalho agendado, comece usando o cmdlet Get-ScheduledJobOption para obter as opções de trabalho de um trabalho agendado. Em seguida, canalize as opções para Set-ScheduledJobOption ou salve as opções em uma variável e use o parâmetro InputObject de cmdlet Set-ScheduledJobOption para identificar as opções. Use os parâmetros restantes de Set-ScheduledJobOption para alterar as opções de trabalho.

Para ativar uma opção de trabalho, use o parâmetro que define essa opção. Para desativar uma opção, digite o nome do parâmetro, dois pontos (:) e $False. Por exemplo, para desativar a opção RunElevated , digite -RunElevated:$False.

Cada objeto de opções de trabalho inclui uma propriedade JobDefinition que contém o trabalho agendado, portanto, a associação com o trabalho agendado é mantida quando as opções de trabalho são alteradas.

As opções de trabalho agendado determinam como o trabalho é executado quando é iniciado pelo Agendador de Tarefas. Essas opções não serão aplicadas quando você usar o cmdlet Start-Job para iniciar um trabalho agendado.

Set-ScheduledJobOption é um de uma coleção de cmdlets de agendamento de trabalho no módulo PSScheduledJob incluído no Windows PowerShell.

Para obter mais informações sobre trabalhos agendados, consulte os tópicos Sobre no módulo PSScheduledJob. Importe o módulo PSScheduledJob e digite: Get-Help about_Scheduled* ou veja about_Scheduled_Jobs.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Alterar opções de trabalho

PS C:\> Get-ScheduledJobOption -Name "DeployPackage"
StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : False
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          :

The second command uses the **Set-ScheduledJobOpton** cmdlet to change the job options so the values of the WakeToRun and RunWithoutNetwork properties are $True. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> Get-ScheduledJobOption -Name "DeployPackage" | Set-ScheduledJobOption -WakeToRun -RequireNetwork:$False -Passthru
StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : True
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNewJobDefinition          :

Este exemplo mostra como alterar as opções de um trabalho agendado no computador local.

O primeiro comando usa o cmdlet Get-ScheduledJobOption para obter as opções de trabalho do trabalho agendado DeployPackage. A saída mostra que as propriedades WakeToRun e RunElevated estão definidas como $False.

Este comando não é necessário; ele é incluído apenas para mostrar o efeito da mudança de opção.

Exemplo 2: Alterar uma opção em todos os trabalhos agendados remotos

PS C:\> Invoke-Command -Computer "Server01" -ScriptBlock {Get-ScheduledJob | Get-ScheduledJobOption | Set-ScheduledJobOption -IdleTimeout 2:00:00}

Este comando altera o valor do IdleTimeout de uma hora (o valor padrão) para duas horas em todos os trabalhos agendados no computador Server01.

O comando usa o cmdlet Invoke-Command para executar um comando no computador Server01.

O comando remoto começa com um comando Get-ScheduledJob que obtém todos os trabalhos agendados no computador. Os trabalhos agendados são canalizados para o cmdlet Get-ScheduledJobOption, que obtém as opções de trabalho dos trabalhos agendados. Cada objeto de opções de trabalho contém uma propriedade JobDefinition que contém o trabalho agendado, portanto, o objeto de opções permanece associado ao trabalho agendado mesmo quando ele é alterado.

Os gatilhos de trabalho são canalizados para o cmdlet Set-ScheduledJobOption, que altera o valor da opção IdleTimeout para duas horas (2:00:00).

Parâmetros

-ContinueIfGoingOnBattery

Não pare o trabalho agendado se o computador mudar para a alimentação da bateria (desconecta-se da alimentação CA) enquanto o trabalho está em execução. Por padrão, os trabalhos agendados param quando o computador se desconecta da alimentação CA.

O parâmetro ContinueIfGoingOnBattery define o valor da propriedade StopIfGoingOnBatteries de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DoNotAllowDemandStart

Inicie o trabalho somente quando ele for acionado. Os usuários não podem iniciar o trabalho manualmente, como usando o recurso Executar no Agendador de Tarefas.

Este parâmetro afeta apenas o Agendador de Tarefas. Ele não impede que os usuários usem o cmdlet Start-Job para iniciar o trabalho.

O parâmetro DoNotAllowDemandStart define o valor da propriedade DoNotAllowDemandStart de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-HideInTaskScheduler

Não exiba o trabalho no Agendador de Tarefas. Esse valor afeta apenas o computador no qual o trabalho é executado. Por padrão, as tarefas agendadas aparecem no Agendador de Tarefas.

Mesmo que uma tarefa esteja oculta, os usuários podem exibi-la selecionando a opção Mostrar tarefas ocultas exibir no Agendador de Tarefas.

O parâmetro HideInTaskScheduler define o valor da propriedade ShowInTaskScheduler de trabalhos agendados como $False.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IdleDuration

Especifica por quanto tempo o computador deve ficar ocioso antes que o trabalho seja iniciado. O valor padrão é 10 minutos. Se o computador não estiver ocioso pela duração especificada antes que o valor de IdleTimeout expire, o trabalho agendado não será executado até a próxima hora agendada, se houver.

Insira um objeto timespan, como um gerado pelo cmdlet New-TimeSpan, ou insira um valor em horas:minutos:segundos formato que é convertido automaticamente em um objeto TimeSpan .

Para habilitar esse valor, use o parâmetro StartIfIdle. Por padrão, a propriedade StartIfNotIdle de trabalhos agendados é definida como $True e o Windows PowerShell ignora os IdleDuration e valores de IdleTimeout.

Tipo:TimeSpan
Position:Named
Default value:10 minutes
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IdleTimeout

Especifica por quanto tempo o computador deve ficar ocioso antes que o trabalho seja iniciado. O valor padrão é 10 minutos. Se o computador não estiver ocioso pela duração especificada antes que o valor de IdleTimeout expire, o trabalho agendado não será executado até a próxima hora agendada, se houver.

Insira um objeto timespan, como um gerado pelo cmdlet New-TimeSpan, ou insira um valor em horas:minutos:segundos formato que é convertido automaticamente em um objeto TimeSpan .

Para habilitar esse valor, use o parâmetro StartIfIdle. Por padrão, a propriedade StartIfNotIdle de trabalhos agendados é definida como $True e o Windows PowerShell ignora os IdleDuration e valores de IdleTimeout.

Tipo:TimeSpan
Position:Named
Default value:10 minutes
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-InputObject

Especifica as opções de trabalho. Insira uma variável que contenha objetos ScheduledJobOptions ou digite um comando ou expressão que obtenha objetos ScheduledJobOptions, como um comando Get-ScheduledJobOption. Você também pode canalizar um objeto ScheduledJobOptions para Set-ScheduledJobOption.

Tipo:ScheduledJobOptions
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MultipleInstancePolicy

Determina como o sistema responde a uma solicitação para iniciar uma instância de um trabalho agendado enquanto outra instância do trabalho está em execução. Os valores aceitáveis para este parâmetro são:

  • IgnorarNovo. A nova instância de trabalho é ignorada. Este é o valor padrão.
  • Paralelo. A nova instância de trabalho é iniciada imediatamente.
  • Fila. A nova instância de trabalho é iniciada assim que a instância atual é concluída.
  • StopExisting. A instância atual da parada de trabalho e a nova instância são iniciadas.

Para executar o trabalho, todas as condições para o cronograma de trabalho devem ser atendidas. Por exemplo, se as condições definidas pelos parâmetros RequireNetwork, IdleDuratione IdleTimeout não forem satisfeitas, a instância de trabalho não será iniciada, independentemente do valor desse parâmetro.

Tipo:TaskMultipleInstancePolicy
Valores aceites:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:IgnoreNew
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-PassThru

Retorna um objeto que representa o item com o qual você está trabalhando. Por padrão, esse cmdlet não gera nenhuma saída.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-RequireNetwork

Executa o trabalho agendado somente quando as conexões de rede estão disponíveis.

Se você especificar esse parâmetro e a rede não estiver disponível na hora de início agendada, o trabalho não será executado até a próxima hora de início agendada, se houver.

O parâmetro RequireNetwork define o valor da propriedade RunWithoutNetwork de trabalhos agendados como $False.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-RestartOnIdleResume

Reinicia um trabalho agendado quando o computador fica ocioso. Esse parâmetro funciona com o parâmetro StopIfGoingOffIdle, que suspende um trabalho agendado em execução se o computador ficar ativo (deixar o estado ocioso).

O parâmetro RestartOnIdleResume define o valor da propriedade RestartOnIdleResume de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-RunElevated

Executa o trabalho agendado com as permissões de um membro do grupo Administradores no computador em que o trabalho é executado.

Para permitir que um trabalho agendado seja executado com permissões de Administrador, use o parâmetro Credential de Register-ScheduledJob para fornecer credenciais explícitas para o trabalho.

O parâmetro RunElevated define o valor da propriedade RunElevated de trabalhos agendados como True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-StartIfIdle

Inicia o trabalho agendado se o computador tiver estado inativo durante o tempo especificado pelo parâmetro IdleDuration antes de expirar o tempo especificado pelo parâmetro IdleTimeout.

Por padrão, os parâmetros IdleDuration e IdleTimeout são ignorados e o trabalho é iniciado na hora de início agendada, mesmo que o computador esteja ocupado.

Se você especificar esse parâmetro e o computador estiver ocupado (não ocioso) na hora de início agendada, o trabalho não será executado até a próxima hora de início agendada, se houver.

O parâmetro StartIfIdle define o valor da propriedade StartIfNotIdle de trabalhos agendados como False.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-StartIfOnBattery

Inicia o trabalho agendado mesmo que o computador esteja funcionando com baterias na hora de início agendada. O valor padrão é False.

O parâmetro StartIfOnBattery define o valor da propriedade StartIfOnBatteries de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-StopIfGoingOffIdle

Suspende um trabalho agendado em execução se o computador ficar ativo (não ocioso) enquanto o trabalho estiver em execução.

Por padrão, um trabalho agendado que é suspenso quando o computador fica ativo é retomado quando o computador fica ocioso novamente. Para alterar esse comportamento padrão, use o parâmetro RestartOnIdleResume.

O parâmetro StopIfGoingOffIdle define o valor da propriedade StopIfGoingOffIdle de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WakeToRun

Desperta o computador de um estado de Hibernação ou Suspensão na hora de início agendada para que possa executar o trabalho. Por padrão, se o computador estiver em um estado de Hibernação ou Suspensão no horário de início agendado, o trabalho não será executado.

O parâmetro WakeToRun define o valor da propriedade WakeToRun de trabalhos agendados como $True.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

ScheduledJobOptions

Você pode canalizar um objeto de opções de trabalho agendado para Set-ScheduledJobOption.

Saídas

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Quando você usa o parâmetro Passthru, Set-ScheduledJobOption retorna as opções de trabalho que foram alteradas. Caso contrário, esse cmdlet não gerará nenhuma saída.