New-JobTrigger
Cria um disparador de trabalho para um trabalho agendado.
Syntax
New-JobTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[<CommonParameters>]
New-JobTrigger
[-DaysInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Daily]
[<CommonParameters>]
New-JobTrigger
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
-DaysOfWeek<DayOfWeek[]>
[-Weekly]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-AtStartup]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-User <String>]
[-AtLogOn]
[<CommonParameters>]
Description
O New-JobTrigger
cmdlet cria um gatilho de trabalho que inicia um trabalho agendado em uma agenda única ou recorrente ou quando ocorre um evento.
Você pode usar o objeto ScheduledJobTrigger que New-JobTrigger
retorna para definir um gatilho de trabalho para um trabalho agendado novo ou existente. Você também pode criar um gatilho de trabalho com o cmdlet para obter o gatilho de trabalho de um trabalho agendado existente ou com um valor de tabela de hash para representar um gatilho Get-JobTrigger
de trabalho.
Ao criar um gatilho New-ScheduledJobOption
de trabalho, revise os valores padrão das opções especificadas pelo cmdlet. Essas opções, que têm os mesmos valores válidos e padrão que as opções correspondentes no Agendador de Tarefas, afetam o agendamento e o tempo dos trabalhos agendados.
New-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: Agendamento Único
Este exemplo cria um gatilho de trabalho para iniciar um trabalho agendado apenas uma vez.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
O New-JobTrigger
cmdlet para criar um gatilho de trabalho que inicia um trabalho agendado apenas uma vez. O valor do parâmetro At é uma cadeia de caracteres que o Windows PowerShell converte em um objeto DateTime.
O valor do parâmetro At inclui uma data explícita, não apenas uma hora. Se a data foi omitida, o gatilho seria criado com a data atual e hora de 3h, que é provável que represente uma hora no passado.
Exemplo 2: Programação diária
Este exemplo cria um novo gatilho de trabalho para iniciar um trabalho agendado a cada três dias.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Este comando cria um gatilho de trabalho que inicia um trabalho agendado a cada três dias às 4h15.
Como o valor do parâmetro At não inclui uma data, a data atual é usada como o valor de data no objeto DateTime . Se a data e a hora estiverem no passado, o trabalho agendado será iniciado na próxima ocorrência, que é 3 dias depois do valor do parâmetro At .
Exemplo 3: Agenda semanal
Este exemplo cria um gatilho de trabalho que inicia um trabalho agendado a cada quatro semanas em dias especificados dessa semana.
New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Weekly 9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True
Este comando cria um gatilho de trabalho para iniciar um trabalho agendado às segundas, quartas e sextas-feiras às 2300 horas (23:00) a cada 4 semanas.
Você também pode inserir o valor do parâmetro DaysOfWeek em inteiros, como -DaysOfWeek 1, 5
.
Exemplo 4: Agendamento de logon
Este exemplo cria um gatilho de trabalho para iniciar um trabalho agendado no logon de um usuário específico.
New-JobTrigger -AtLogOn -User Domain01\Admin01
Esse comando cria um gatilho de trabalho para iniciar um trabalho agendado sempre que o administrador de domínio fizer logon no computador.
Exemplo 5: Usando um atraso aleatório
Este exemplo cria um novo gatilho de trabalho com um atraso aleatório de período de tempo.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Esse comando cria um gatilho de trabalho para iniciar um trabalho agendado todos os dias à 1:00 da manhã. O comando usa o parâmetro RandomDelay para definir o atraso máximo para 20 minutos. Como resultado, o trabalho é executado diariamente entre 1h e 1h20, com o intervalo variando pseudo aleatoriamente.
Você pode usar um atraso aleatório para amostragem, balanceamento de carga e outras tarefas administrativas. Ao definir o valor de atraso, revise os valores efetivos e padrão do cmdlet e coordene o atraso com as configurações de New-ScheduledJobOption
opção.
Exemplo 6: Criar um gatilho de trabalho para um novo trabalho agendado
Este exemplo usa um gatilho de trabalho para criar um novo trabalho agendado.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
O primeiro comando usa o cmdlet para criar um gatilho New-JobTrigger
de trabalho que inicia um trabalho todas as segundas, quartas e sextas-feiras às 12h01. O comando salva o gatilho $t
de trabalho na variável.
O segundo comando usa o cmdlet para criar um trabalho agendado Register-ScheduledJob
que inicia um trabalho todas as segundas, quartas e sextas-feiras às 12h01. O valor do parâmetro Trigger é o gatilho $t
armazenado na variável.
Exemplo 7: Adicionar um gatilho de trabalho a um trabalho agendado
Este exemplo mostra como adicionar um gatilho de trabalho a um trabalho agendado existente.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Você pode adicionar vários gatilhos de trabalho a qualquer trabalho agendado.
O comando usa o Add-JobTrigger
cmdlet para adicionar o gatilho de trabalho ao trabalho agendado SynchronizeApps . O valor do parâmetro Trigger é um New-JobTrigger
comando que executa o trabalho todos os dias às 3:10 AM.
Quando o comando é concluído, SynchronizeApps é um trabalho agendado que é executado nos horários especificados pelo gatilho do trabalho.
Exemplo 8: Criar um gatilho de trabalho repetitivo
Este exemplo cria um gatilho de trabalho de repetição para ser executado apenas por um período de tempo específico.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Esse comando cria um gatilho de trabalho que executa um trabalho a cada 60 minutos por 48 horas a partir de 12 de setembro de 2013 às 01:00.
Exemplo 9: Parar um gatilho de trabalho repetitivo
Este exemplo interrompe um disparador de trabalho repetitivo.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Esse comando interrompe à força o trabalho SecurityCheck, que é acionado para ser executado a cada 60 minutos até que seu gatilho de trabalho expire.
Para impedir que o trabalho se repita, o comando usa o Get-JobTrigger
para obter o gatilho de trabalho do trabalho SecurityCheck e o Set-JobTrigger
cmdlet para alterar o intervalo de repetição e a duração de repetição do gatilho de trabalho para zero (0
).
Exemplo 10: Criar um gatilho de trabalho por hora
Este exemplo cria um gatilho de trabalho repetitivo que é executado indefinidamente.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
O comando a seguir cria um gatilho de trabalho que executa um trabalho agendado a cada 12 horas, por um período indefinido de tempo. A agenda começa amanhã (21/9/2012) à meia-noite (0:00 AM).
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 data e hora, como April 19, 2012 15:00
, 12/31
ou 3am
. Se você não especificar um elemento de data, como o ano, a data no gatilho tem o elemento correspondente a partir da data atual.
Ao usar o parâmetro Once , defina o valor do parâmetro At para uma data e hora futuras. Como a data padrão em um objeto DateTime é a data atual, se você especificar uma hora antes da hora atual sem uma data explícita, o gatilho de trabalho será criado para um tempo 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.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Inicia o trabalho agendado quando o Windows inicia.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Especifica uma agenda recorrente de trabalho diário. Use os outros parâmetros no conjunto de parâmetros Daily para especificar os detalhes da agenda.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 em dias 1
, 7
4
e assim por diante. O valor padrão é 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Especifica os dias da semana em que um trabalho agendado semanalmente é executado. Insira nomes de dia, como Monday
ou inteiros , onde 0
representa o 0
-6
domingo. 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. Quando você coloca nomes de dia 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
).
Type: | DayOfWeek[] |
Accepted values: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Once
Especifica uma agenda personalizada de repetição ou não recorrente (única). Para criar uma agenda de repetição, use o parâmetro Once com os parâmetros RerepeatDuration e RerepeatInterval .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 no <hours>:<minutes>:<seconds>
formato, que é convertido automaticamente em um objeto TimeSpan .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Repete o trabalho até o tempo especificado expirar. A frequência de repetição é determinada pelo valor do parâmetro RerepeatInterval . Por exemplo, se o valor de RerepeatInterval for 5 minutos e o valor de RerepeatDuration for 2 horas, o trabalho será acionado 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 de trabalho expire, use o Set-JobTrigger
cmdlet para definir o valor RerepeatDuration como zero (0
).
Esse parâmetro é válido somente quando os parâmetros Once, At e RerepeatInterval são usados no comando.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
.
Esse parâmetro é válido somente quando os parâmetros Once, At e RerepeatDuration são usados no comando.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Especifica os usuários que disparam um início AtLogon de um trabalho agendado. Digite o nome de um usuário em <UserName>
ou <Domain\Username>
formate ou insira um asterisco (*
) para representar todos os usuários. O valor padrão é todos os usuários.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Especifica uma agenda recorrente de trabalho semanal. Use os outros parâmetros no conjunto de parâmetros Weekly para especificar os detalhes da agenda.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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
, 7
4
e assim por diante. O valor padrão é 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Não é possível canalizar objetos para esse cmdlet.
Saídas
Esse cmdlet retorna um objeto ScheduledJobTrigger que representa o gatilho criado.
Observações
Gatilhos de trabalho não são salvos em disco. No entanto, os trabalhos agendados são salvos no disco e você pode usar o para obter o gatilho
Get-JobTrigger
de trabalho de qualquer trabalho agendado.New-JobTrigger
não impede que você crie um gatilho de trabalho que não executará um trabalho agendado, como gatilho único para uma data no passado.O
Register-ScheduledJob
cmdlet aceita um objeto ScheduledJobTrigger , como um retornado pelosNew-JobTrigger
cmdlets ouGet-JobTrigger
ou uma tabela de hash com valores de disparo.Para enviar uma tabela de hash, use as seguintes chaves.
- Frequência:
Once
,Daily
,Weekly
,AtStartup
, ouAtLogon
- Em: qualquer sequência de tempo válida, como
3am
- DaysOfWeek: qualquer combinação de nomes de dia como cadeias de caracteres, como
"Monday", "Wednesday"
- Intervalo: qualquer intervalo de frequência válido como um inteiro
- RandomDelay: qualquer cadeia de caracteres de intervalo de tempo válida, como
30minutes
- Usuário: qualquer usuário válido, como
Domain1\User01
; usado somente com o valor de frequência AtLogon
- Frequência:
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