Set-ScheduledJobOption
Altera as opções de trabalho de um trabalho agendado.
Syntax
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 dos 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-o em uma variável e use o parâmetro InputObject do cmdlet Set-ScheduledJobOption para identificar as opções. Use os parâmetros restantes do 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 agendadas determinam como o trabalho é executado quando ele é iniciado pelo Agendador de Tarefas. Essas opções não se aplicam quando você usa 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 o módulo PSScheduledJob.
Importe o módulo PSScheduledJob e digite: Get-Help about_Scheduled*
ou consulte 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 uma tarefa agendada 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 é obrigatório. Ele está incluído apenas para mostrar o efeito da alteração da 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}
Esse 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, por isso o objeto de opções permaneça associado ao trabalho agendado, mesmo quando 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 interrompa a tarefa se o computador alternar para a energia da bateria (desconectado da corrente alternada) enquanto o trabalho estiver em execução. Por padrão, os trabalhos agendados param quando o computador é desconectado da corrente alternada.
O parâmetro ContinueIfGoingOnBattery define o valor da propriedade StopIfGoingOnBatteries de trabalhos agendados como $True.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DoNotAllowDemandStart
Inicie o trabalho somente quando ele é acionado. Os usuários não podem iniciar o trabalho manualmente, como usando a execução de recursos no Agendador de tarefas.
Este parâmetro afeta somente 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HideInTaskScheduler
Não exiba o trabalho no Agendador de tarefas. Esse valor afeta somente o computador no qual o trabalho é executado. Por padrão, as tarefas agendadas são exibidas no Agendador de tarefas.
Mesmo que uma tarefa esteja oculta, os usuários poderão exibir a tarefa selecionando a opção Mostrar exibição de tarefas ocultas no Agendador de Tarefas.
O parâmetro HideInTaskScheduler define o valor da propriedade ShowInTaskScheduler de trabalhos agendados como $False.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdleDuration
Especifica quanto tempo o computador deve permanecer ocioso antes de iniciar o trabalho. O valor padrão é 10 minutos. Se o computador não estiver ocioso durante o tempo especificado antes do valor de IdleTimeout expirar, o trabalho agendado não será executado até que a próxima execução agendada, se houver.
Insira um objeto timespan, como um gerado pelo cmdlet New-TimeSpan ou insira um valor no <formato hours>:<minutes>:<seconds> 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 Windows PowerShell ignora os valores IdleDuration e IdleTimeout.
Type: | TimeSpan |
Position: | Named |
Default value: | 10 minutes |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdleTimeout
Especifica quanto tempo o computador deve permanecer ocioso antes de iniciar o trabalho. O valor padrão é 10 minutos. Se o computador não estiver ocioso durante o tempo especificado antes do valor de IdleTimeout expirar, o trabalho agendado não será executado até que a próxima execução agendada, se houver.
Insira um objeto timespan, como um gerado pelo cmdlet New-TimeSpan ou insira um valor no <formato hours>:<minutes>:<seconds> 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 Windows PowerShell ignora os valores IdleDuration e IdleTimeout.
Type: | TimeSpan |
Position: | Named |
Default value: | 10 minutes |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica as opções de trabalho. Insira uma variável que contenha objetos ScheduledJobOptions ou digite um comando ou expressão que obtém objetos ScheduledJobOptions , como um comando Get-ScheduledJobOption. Você também pode canalizar um objeto ScheduledJobOptions para Set-ScheduledJobOption.
Type: | ScheduledJobOptions |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MultipleInstancePolicy
Determina como o sistema responde a uma solicitação para iniciar uma instância de um trabalho agendado, enquanto outra instância de trabalho está em execução. Os valores aceitáveis para esse parâmetro são:
- IgnoreNew. A nova instância de trabalho será ignorada. Esse é o valor padrão.
- Paralelo. A nova instância de trabalho será iniciada imediatamente.
- Fila. A nova instância de trabalho começa assim que a instância atual for concluída.
- StopExisting. A instância atual do trabalho parado e a nova instância foram iniciadas.
Para executar o trabalho, todas as condições da agenda de trabalho devem ser atendidas. Por exemplo, se as condições definidas pelos parâmetros RequireNetwork, IdleDuration e IdleTimeout não forem atendidas, a instância do trabalho não será iniciada, independentemente do valor desse parâmetro.
Type: | TaskMultipleInstancePolicy |
Accepted values: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Default value: | IgnoreNew |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Retorna um objeto que representa o item com que você está trabalhando. Por padrão, este cmdlet não gera saída.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequireNetwork
Executa a tarefa agendada somente quando 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 alguma.
O parâmetro RequireNetwork define o valor da propriedade RunWithoutNetwork de trabalhos agendados como $False.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RestartOnIdleResume
Reinicia um trabalho agendado quando o computador ficar ocioso. Esse parâmetro funciona com o parâmetroStopIfGoingOffIdle, que suspende um trabalho agendado em execução se o computador se torna ativo (deixe o estado ocioso).
O parâmetro RestartOnIdleResume define o valor da propriedade RestartOnIdleResume de trabalhos agendados como $True.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunElevated
Executa o trabalho agendado com as permissões de um membro do grupo Administradores no computador no qual o trabalho é executado.
Para habilitar um trabalho agendado a ser 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartIfIdle
Inicia o trabalho agendado, se o computador estiver ocioso durante o tempo especificado pelo parâmetro IdleDuration antes da hora especificada pelo parâmetro IdleTimeout expirar.
Por padrão, os parâmetros IdleDuration e IdleTimeout serão ignorados e o trabalho será iniciado na hora de início agendada, mesmo se o computador estiver 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartIfOnBattery
Inicia o trabalho agendado, mesmo se o computador estiver usando 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StopIfGoingOffIdle
Suspende um trabalho agendado em execução se o computador se torna ativo (não ocioso) enquanto o trabalho está em execução.
Por padrão, um trabalho agendado é suspenso quando o computador se torna ativo e retomado quando o computador tornar-se ocioso novamente. Para alterar esse comportamento padrão, utilize o parâmetro RestartOnIdleResume.
O parâmetro StopIfGoingOffIdle define o valor da propriedade StopIfGoingOffIdle de trabalhos agendados como $True.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WakeToRun
Desperta o computador de um estado de suspensão ou de hibernação na hora de início agendada para que possa executar o trabalho. Por padrão, se o computador está em um estado de suspensão ou de hibernação na hora de início agendada, o trabalho não será executado.
O parâmetro WakeToRun define o valor da propriedade WakeToRun de trabalhos agendados como $True.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode direcionar um objeto de opções de trabalho agendadas para Set-ScheduledJobOption.
Saídas
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Ao usar o parâmetro Passthru, o Set-ScheduledJobOption retorna as opções de trabalho que foram alteradas. Caso contrário, este cmdlet não gera nenhuma saída.
Links Relacionados
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob