Set-JobTrigger
Altera o disparador do trabalho de um trabalho agendado.
Sintaxe
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
O Set-JobTrigger
cmdlet altera as propriedades dos gatilhos de trabalho agendados. Você pode usá-lo para alterar o tempo ou a frequência em que os trabalhos iniciam ou mudar de um agendamento com base no tempo para agendas que são disparadas por um logon ou na inicialização.
Um gatilho de trabalho define um agendamento ou condições recorrentes para iniciar um trabalho agendado. Embora disparadores de trabalho não sejam salvos em disco, você pode alterar os disparos de trabalho dos trabalhos agendados, que são salvos em disco.
Para alterar um gatilho de trabalho de um trabalho agendado, comece usando o Get-JobTrigger
cmdlet para obter o gatilho de trabalho de um trabalho agendado. Em seguida, canalize o gatilho ou Set-JobTrigger
salve-o em uma variável e use o parâmetro InputObject do Set-JobTrigger
cmdlet para identificar o gatilho.
Use os parâmetros restantes de para alterar o gatilho de Set-JobTrigger
trabalho.
Quando você altera o tipo de um gatilho de trabalho, como alterar um gatilho de trabalho de um gatilho diário ou semanal para um gatilho AtLogon , as propriedades originais do gatilho são excluídas. No entanto, se você alterar os valores do disparador, mas não seu tipo, como alterar os dias em um disparador semanal, somente as propriedades que você especificar serão alteradas. Todas as outras propriedades originais do disparador de trabalho são mantidas.
Set-JobTrigger
é 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 os dias em um gatilho de trabalho
Este exemplo mostra como alterar os dias em um disparador de trabalho semanal.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -PassThru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
O primeiro comando usa o Get-JobTrigger
cmdlet para obter o gatilho de trabalho do trabalho agendado DeployPackage
. A saída mostra que o disparador inicia o trabalho à meia-noite nas quartas-feiras e sábados.
O segundo comando usa o Get-JobTrigger
cmdlet para obter o gatilho de trabalho do trabalho agendado DeployPackage
. Um operador de pipeline (|
) envia o gatilho para o Set-JobTrigger
cmdlet, que altera o gatilho de trabalho para que ele inicie o DeployPackage
trabalho às quartas e domingos. O comando usa o parâmetro PassThru para retornar o gatilho após a alteração.
Este comando não é obrigatório. Ele está incluído apenas para mostrar o efeito da alteração do disparador.
Exemplo 2: Alterar o tipo de gatilho de trabalho
Este exemplo mostra como alterar o tipo de disparador de trabalho que inicia um trabalho. Os comandos neste exemplo substituem um AtStartup
gatilho de trabalho por um gatilho semanal.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
O primeiro comando usa o Get-JobTrigger
cmdlet para obter o gatilho de trabalho do trabalho agendado Inventory
. A saída mostra que o trabalho tem dois gatilhos, um gatilho diário e um gatilho AtStartup .
O segundo comando usa o Get-JobTrigger
cmdlet para obter o gatilho de trabalho AtStartup do Inventory
trabalho. O comando usa o parâmetro TriggerID para identificar o gatilho de trabalho. Um operador de pipeline (|
) envia o gatilho de trabalho para o Set-JobTrigger
cmdlet, que o altera para um gatilho de trabalho semanal que é executado a cada quatro semanas na segunda-feira à meia-noite. O comando usa o parâmetro PassThru para retornar o gatilho após a alteração.
Este comando não é obrigatório. Ele está incluído apenas para mostrar o efeito da alteração do disparador.
Exemplo 3: Alterar o usuário em um gatilho de trabalho remoto
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Esse comando altera o usuário em todos os gatilhos de trabalho AtLogon de trabalhos agendados no computador Server01.
O comando usa o Invoke-Command
cmdlet para executar um comando no computador Server01.
O comando remoto começa com um Get-ScheduledJob
comando que obtém todos os trabalhos agendados no computador. Os trabalhos agendados são canalizados para o Get-JobTrigger
cmdlet, que obtém os gatilhos de trabalho dos trabalhos agendados. Cada gatilho de trabalho contém uma propriedade JobDefinition que contém o trabalho agendado, portanto, o gatilho permanece associado ao trabalho agendado mesmo quando ele é alterado.
Os gatilhos de trabalho são canalizados para o Where-Object
cmdlet, que obtém gatilhos de trabalho que têm a propriedade User . Os gatilhos de trabalho selecionados são canalizados para o Set-JobTrigger
cmdlet, que altera o usuário para Domain01\Admin02
.
Exemplo 4: Alterar um dos muitos gatilhos de trabalho
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Os comandos neste exemplo alteram o intervalo de repetição do gatilho de trabalho Once do trabalho agendado SecurityCheck
de a cada 60 minutos para a cada 90 minutos. O SecurityCheck
trabalho agendado tem três gatilhos de trabalho, portanto, os comandos usam o parâmetro TriggerId do cmdlet para identificar o gatilho de Get-JobTrigger
trabalho que está sendo alterado.
O primeiro comando usa o Get-JobTrigger
cmdlet para obter todos os gatilhos de trabalho do trabalho agendado SecurityCheck
. A saída, que exibe as IDs dos gatilhos de trabalho, revela que o gatilho de trabalho Once tem uma ID de 3
.
O segundo comando usa o parâmetro TriggerID do Get-JobTrigger
cmdlet para obter o gatilho Once do trabalho agendado SecurityCheck
. O comando canaliza o gatilho para o Format-List
cmdlet, que exibe todas as propriedades do gatilho de trabalho Once . A saída mostra que o gatilho inicia o trabalho uma vez a cada hora (RepetitionInterval é 1 hora) por um dia (RepetitionDuration é 1 dia).
O terceiro comando altera o intervalo de repetição do gatilho de trabalho de uma hora para 90 minutos. O comando não retorna nenhuma saída.
O quarto comando exibe o efeito da alteração. A saída mostra que o gatilho inicia o trabalho uma vez a cada 90 minutos (RepetitionInterval é 1 hora e 30 minutos) por um dia (RepetitionDuration é 1 dia).
Parâmetros
-At
Inicia o trabalho em determinada data e hora. Insira um objeto DateTime , como um que o Get-Date
cmdlet retorna, ou uma cadeia de caracteres que possa ser convertida em uma hora, como April 19, 2012 15:00
, 12/31/2013 9:00 PM
, ou 3am
.
Se você não especificar um elemento do objeto DateTime , como segundos, esse elemento do gatilho de trabalho não será alterado. Se o gatilho de trabalho original não incluir um objeto DateTime e você omitir um elemento, o gatilho de trabalho será criado com o elemento correspondente da data e hora atuais.
Ao usar o parâmetro Once , defina o valor do parâmetro At para uma data e hora específicas. Como a data padrão em um objeto DateTime é a data atual, definir uma hora antes da hora atual sem uma data explícita resulta em um gatilho de trabalho para uma hora no passado.
Os objetos DateTime e as cadeias de caracteres convertidas em objetos DateTime são ajustados automaticamente para serem compatíveis com os formatos de data e hora selecionados para o computador local em Região e Idioma no Painel de Controle.
Tipo: | DateTime |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-AtLogOn
Inicia o trabalho agendado quando os usuários especificados fazem logon no computador. Para especificar um usuário, use o parâmetro User .
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-AtStartup
Inicia o trabalho agendado quando o Windows inicia.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Daily
Especifica uma agenda recorrente de trabalho diário. Use os outros parâmetros no conjunto de parâmetros Diário para especificar os detalhes da programação.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DaysInterval
Especifica o número de dias entre ocorrências em uma agenda diária. Por exemplo, um valor de 3
inicia o trabalho agendado nos dias 1
, 4
, 7
e assim por diante. O valor padrão é 1
.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DaysOfWeek
Especifica os dias da semana em que um trabalho agendado semanalmente é executado. Insira nomes de dias, como Monday
, Thursday
, inteiros 0
-6
, onde 0
representa domingo ou um asterisco (*
) para representar todos os dias. Esse parâmetro é necessário no conjunto de parâmetros Semanal .
Nomes de dias são convertidos em seus valores inteiros no gatilho de trabalho. Ao colocar nomes de dias entre aspas em um comando, coloque o nome de cada dia entre aspas separadas, como "Monday", "Tuesday"
. Se você colocar vários nomes de dias em um par de aspas simples, os valores inteiros correspondentes são somados. Por exemplo, "Monday, Tuesday"
(1 + 2
) resulta em um valor de Wednesday
(3
).
Tipo: | DayOfWeek[] |
Valores aceitos: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica os disparadores de trabalho. Insira uma variável que contenha objetos ScheduledJobTrigger ou digite um comando ou expressão que obtenha objetos ScheduledJobTrigger , como um Get-JobTrigger
comando.
Você também pode canalizar um objeto ScheduledJobTrigger para Set-JobTrigger
.
Se você especificar vários acionadores de trabalho, o fará Set-JobTrigger
as mesmas alterações em todos os acionadores de trabalho.
Tipo: | ScheduledJobTrigger[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Once
Especifica uma agenda não recorrente (uma vez).
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-PassThru
Retorna os disparadores de trabalho que foram alterados. Por padrão, este cmdlet não gera saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-RandomDelay
Permite um atraso aleatório que começa na hora de início agendada e define o valor de tempo de espera máximo.
O tempo de atraso é definido pseudoaleatoriamente para cada início e varia de nenhum atraso até a hora especificada pelo valor desse parâmetro. O valor padrão, zero (00:00:00
), desabilita o atraso aleatório.
Insira um objeto timespan, como um retornado pelo New-TimeSpan
cmdlet, ou insira um valor em <hours>:<minutes>:<seconds>
format, que é convertido automaticamente em um objeto timespan.
Tipo: | TimeSpan |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-RepeatIndefinitely
Esse parâmetro, disponível a partir do Windows PowerShell 4.0, elimina a necessidade de especificar um valor TimeSpan.MaxValue para o parâmetro RepetitionDuration para executar um trabalho agendado repetidamente, por um período indefinido.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-RepetitionDuration
Repete o trabalho até o tempo especificado expirar. A frequência de repetição é determinada pelo valor do parâmetro RepetitionInterval . Por exemplo, se o valor de RepetitionInterval for 5 minutos e o valor de RepetitionDuration for 2 horas, o trabalho será disparado a cada cinco minutos por duas horas.
Insira um objeto timespan, como um que o New-TimeSpan
cmdlet retorna ou uma cadeia de caracteres que pode ser convertida em um objeto timespan, como 1:05:30
.
Para executar um trabalho indefinidamente, adicione o parâmetro RepeatIndefinitely em vez disso.
Para interromper um trabalho antes que a duração da repetição do gatilho do trabalho expire, defina o valor RepetitionDuration como zero (0
).
Para alterar a duração da repetição ou o intervalo de repetição de um gatilho de trabalho Once , o comando deve incluir os parâmetros RepetitionInterval e RepetitionDuration . Para alterar a duração da repetição ou os intervalos de repetição de outros tipos de gatilhos de trabalho, o comando deve incluir os parâmetros Once, At, RepetitionInterval e RepetitionDuration .
Tipo: | TimeSpan |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-RepetitionInterval
Repete o trabalho no tempo especificado. Por exemplo, se o valor desse parâmetro é de 2 horas, o trabalho será acionado a cada duas horas. O valor padrão, 0
, não repete o trabalho.
Insira um objeto timespan, como um que o New-TimeSpan
cmdlet retorna ou uma cadeia de caracteres que pode ser convertida em um objeto timespan, como 1:05:30
.
Para alterar a duração da repetição ou o intervalo de repetição de um gatilho de trabalho Once , o comando deve incluir os parâmetros RepetitionInterval e RepetitionDuration . Para alterar a duração da repetição ou os intervalos de repetição de outros tipos de gatilhos de trabalho, o comando deve incluir os parâmetros Once, At, RepetitionInterval e RepetitionDuration .
Tipo: | TimeSpan |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-User
Especifica os usuários que acionam o início de um AtLogon de um trabalho agendado. Insira o nome de um usuário em <UserName>
ou <Domain>\<Username>
formato ou insira um asterisco (*
) para representar todos os usuários. O valor padrão é todos os usuários.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Weekly
Especifica uma agenda recorrente de trabalho semanal. Use os outros parâmetros no conjunto de parâmetros Semanal para especificar os detalhes da programação.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WeeksInterval
Especifica o número de semanas entre ocorrências em uma agenda semanal. Por exemplo, um valor de 3
inicia o trabalho agendado em semanas 1
, 4
, 7
e assim por diante. O valor padrão é 1
.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar um gatilho de trabalho para esse cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
Quando você usa o parâmetro PassThru , esse cmdlet retorna os gatilhos de trabalho que ele alterou.
Observações
- Os gatilhos de trabalho têm uma propriedade JobDefinition que os associa ao trabalho agendado. Quando você altera o disparador de trabalho de um trabalho agendado, o trabalho é alterado. Você não precisa usar um
Set-ScheduledJob
comando para aplicar o gatilho alterado ao trabalho agendado.
Links Relacionados
- 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