Partilhar via


Get-JobTrigger

Obtém os gatilhos de trabalho de trabalhos agendados.

Sintaxe

Get-JobTrigger
   [[-TriggerId] <Int32[]>]
   [-InputObject] <ScheduledJobDefinition>
   [<CommonParameters>]
Get-JobTrigger
   [[-TriggerId] <Int32[]>]
   [-Id] <Int32>
   [<CommonParameters>]
Get-JobTrigger
   [[-TriggerId] <Int32[]>]
   [-Name] <String>
   [<CommonParameters>]

Description

O Get-JobTrigger cmdlet obtém os gatilhos de trabalho de trabalhos agendados. Você pode usar esse comando para examinar os gatilhos de trabalho ou canalizar os gatilhos de trabalho para outros cmdlets.

Um gatilho de trabalho define uma agenda recorrente ou condições para iniciar um trabalho agendado. Os gatilhos de trabalho não são salvos no disco independentemente; eles fazem parte de um trabalho agendado. Para obter um gatilho de trabalho, especifique o trabalho agendado que o gatilho inicia.

Use os parâmetros do Get-JobTrigger cmdlet para identificar os trabalhos agendados. Você pode identificar os trabalhos agendados por seus nomes ou números de identificação, ou inserindo ou canalizando objetos ScheduledJob, como aqueles que são retornados Get-ScheduledJob pelo cmdlet, para Get-JobTrigger.

Get-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 no 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: Obter um gatilho de trabalho por nome de trabalho agendado

Get-JobTrigger -Name "BackupJob"

O comando usa o parâmetro Name de Get-JobTrigger para obter os gatilhos de trabalho do BackupJob trabalho agendado.

Exemplo 2: Obter um gatilho de trabalho por ID

O exemplo usa o parâmetro ID de Get-JobTrigger para obter os gatilhos de trabalho de um trabalho agendado.

Get-ScheduledJob

Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProjects {1}             \\Server\Share\Archive-Projects.ps1      True
2          Backup          {1,2}           \\Server\Share\Run-Backup.ps1            True
3          Test-HelpFiles  {1}             \\Server\Share\Test-HelpFiles.ps1        True
4          TestJob         {}              \\Server\Share\Run-AllTests.ps1          True

Get-JobTrigger -ID 3

O primeiro comando usa o Get-ScheduledJob cmdlet para exibir os trabalhos agendados no computador local. A exibição inclui as IDs dos trabalhos agendados.

O segundo comando usa o Get-JobTrigger cmdlet para obter o gatilho de trabalho para o Test-HelpFiles trabalho (cuja ID é 3).

Exemplo 3: Obter gatilhos de trabalho canalizando um trabalho

Este exemplo obtém gatilhos de trabalho de trabalhos que têm nomes correspondentes.

Get-ScheduledJob -Name *Backup*, *Archive* | Get-JobTrigger

Este comando obtém os gatilhos de trabalho de todos os trabalhos que têm Backup ou Archive em seus nomes.

Exemplo 4: Obter o gatilho de trabalho de um trabalho em um computador remoto

Este exemplo obtém os gatilhos de um trabalho agendado em um computador remoto.

Invoke-Command -ComputerName Server01 { Get-ScheduledJob Backup | Get-JobTrigger -TriggerID 2 }

O comando usa o Invoke-Command cmdlet para executar um comando no computador Server01. Ele usa o Get-ScheduledJob cmdlet para obter o Backup trabalho agendado, que ele canaliza para o Get-JobTrigger cmdlet. Ele usa o parâmetro TriggerID para obter apenas o segundo gatilho.

Exemplo 5: Obter todos os gatilhos de trabalho

Este exemplo obtém todos os gatilhos de trabalho de todos os trabalhos agendados no computador local.

Get-ScheduledJob | Get-JobTrigger |
    Format-Table -Property ID, Frequency, At, DaysOfWeek, Enabled, @{Label="ScheduledJob";Expression={$_.JobDefinition.Name}} -AutoSize

Id Frequency At                    DaysOfWeek Enabled ScheduledJob
-- --------- --                    ---------- ------- ------------
1    Weekly  9/28/2011 3:00:00 AM  {Monday}   True    Backup
1    Daily   9/27/2011 11:00:00 PM            True    Test-HelpFiles

O comando usa o Get-ScheduledJob para obter os trabalhos agendados no computador local e canaliza-os para Get-JobTrigger, que obtém o gatilho de trabalho de cada trabalho agendado (se houver).

Para adicionar o nome do trabalho agendado à exibição do gatilho de trabalho, o comando usa o recurso de propriedade calculada do Format-Table cmdlet. Além das propriedades de gatilho de trabalho exibidas por padrão, o comando cria uma nova propriedade ScheduledJob que exibe o nome do trabalho agendado.

Exemplo 6: Obter a propriedade de gatilho de trabalho de um trabalho agendado

Este exemplo mostra métodos diferentes para exibir a propriedade JobTrigger de um trabalho agendado.

(Get-ScheduledJob Test-HelpFiles).JobTriggers
Get-ScheduledJob | foreach {$_.JobTriggers}

O primeiro comando usa o Get-ScheduledJob cmdlet para obter o Test-HelpFiles trabalho agendado. Em seguida, ele usa o método dot (.) para obter a propriedade JobTriggers do Test-HelpFiles trabalho agendado.

O segundo comando usa o Get-ScheduledJob cmdlet para obter todos os trabalhos agendados no computador local. Ele usa o ForEach-Object cmdlet para obter o valor da propriedade JobTriggers de cada trabalho agendado.

Os gatilhos de trabalho de um trabalho agendado são armazenados na propriedade JobTriggers do trabalho. Este exemplo mostra alternativas ao uso do cmdlet para obter gatilhos Get-JobTrigger de trabalho. Os resultados são idênticos ao uso do Get-JobTrigger cmdlet e as técnicas podem ser usadas de forma intercambiável.

Exemplo 7: Comparar gatilhos de trabalho

Get-ScheduledJob -Name ArchiveProjects | Get-JobTrigger | Tee-Object -Variable t1

Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
0          Daily           9/26/2011 3:00:00 AM                           True

Get-ScheduledJob -Name "Test-HelpFiles" | Get-JobTrigger | Tee-Object -Variable t2

Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
0          Daily           9/26/2011 3:00:00 AM                           True

$t1| Get-Member -Type Property | ForEach-Object { Compare-Object $t1 $t2 -Property $_.Name}

RandomDelay                                                 SideIndicator
-----------                                                 -------------
00:00:00                                                    =>
00:03:00                                                    <=

O primeiro comando obtém o gatilho de trabalho do ArchiveProjects trabalho agendado. O comando canaliza o gatilho de trabalho para o Tee-Object cmdlet, que salva o gatilho $t1 de trabalho na variável e o exibe na linha de comando.

O segundo comando obtém o gatilho de trabalho do Test-HelpFiles trabalho agendado. O comando canaliza o gatilho de trabalho para o Tee-Object cmdlet, que salva o gatilho $t2 de trabalho na variável e o exibe na linha de comando.

O terceiro comando compara os gatilhos de trabalho nas $t1 variáveis e $t 2. Ele usa o Get-Member cmdlet para obter as propriedades do gatilho de trabalho na variável $t 1. Ele canaliza as propriedades para o ForEach-Object cmdlet, que compara cada propriedade com as propriedades do gatilho $t2 de trabalho na variável por nome. Em seguida, o comando canaliza as propriedades diferentes para o Format-List cmdlet, que as exibe em uma lista. A saída indica que, embora os gatilhos de trabalho pareçam ser os mesmos, o gatilho HelpFiles de trabalho inclui um atraso aleatório de três (3) minutos.

Este exemplo mostra como comparar os gatilhos de trabalho de dois trabalhos agendados.

Parâmetros

-Id

Especifica o número de identificação de um trabalho agendado. Get-JobTrigger Obtém o gatilho de trabalho do trabalho agendado especificado.

Para obter o número de identificação de trabalhos agendados no computador local ou em um computador remoto, use o Get-ScheduledJob cmdlet.

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

-InputObject

Especifica um trabalho agendado. Insira uma variável que contenha objetos ScheduledJob ou digite um comando ou expressão que obtenha objetos ScheduledJob , como um Get-ScheduledJob comando. Você também pode canalizar objetos ScheduledJob para Get-JobTrigger.

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

-Name

Especifica o nome de um trabalho agendado. Get-JobTrigger Obtém o gatilho de trabalho do trabalho agendado especificado. Curingas são suportados.

Para obter os nomes de trabalhos agendados no computador local ou em um computador remoto, use o Get-ScheduledJob cmdlet.

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

-TriggerId

Obtém os gatilhos de trabalho especificados. Insira os IDs de gatilho de um ou mais gatilhos de trabalho de um trabalho agendado. Use esse parâmetro quando o trabalho agendado especificado pelos parâmetros Name, ID ou InputObject tiver vários gatilhos de trabalho.

Tipo:Int32[]
Position:1
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

ScheduledJobDefinition

Você pode canalizar um trabalho agendado para este cmdlet.

Saídas

ScheduledJobTrigger

Este cmdlet retorna o gatilho do trabalho agendado.