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[]>]
   [-Name] <String>
   [<CommonParameters>]
Get-JobTrigger
   [[-TriggerId] <Int32[]>]
   [-Id] <Int32>
   [<CommonParameters>]

Description

O cmdlet Get-JobTrigger 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 cmdlet Get-JobTrigger 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 pelo cmdlet Get-ScheduledJob, 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 veja 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

PS C:\> Get-JobTrigger -Name "BackupJob"

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

Exemplo 2: Obter um gatilho de trabalho por ID

The first command uses the Get-ScheduledJob cmdlet to display the scheduled jobs on the local computer. The display includes the IDs of the scheduled jobs.
PS C:\> 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

The second command uses the **Get-JobTrigger** cmdlet to get the job trigger for the Test-HelpFiles job (ID = 3)
PS C:\> Get-JobTrigger -ID 3

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

Exemplo 3: Obter gatilhos de trabalho canalizando um trabalho

PS C:\> Get-ScheduledJob -Name *Backup*, *Archive* | Get-JobTrigger

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

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

PS C:\> Invoke-Command -ComputerName Server01 { Get-ScheduledJob Backup | Get-JobTrigger -TriggerID 2 }

Este comando obtém um dos dois gatilhos de trabalho de um trabalho agendado em um computador remoto.

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

Exemplo 5: Obter todos os gatilhos de trabalho

PS C:\> 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

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

O comando usa o Get-ScheduledJob para obter os trabalhos agendados no computador local e os canaliza 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 cmdlet Format-Table. 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

The command uses the Get-ScheduledJob cmdlet to get the Test-HelpFiles scheduled job. Then it uses the dot method (.) to get the JobTriggers property of the Test-HelpFiles scheduled job.
PS C:\> (Get-ScheduledJob Test-HelpFiles).JobTriggers

The second command uses the Get-ScheduledJob cmdlet to get all scheduled jobs on the local computer. It uses the ForEach-Object cmdlet to get the value of the JobTrigger property of each scheduled job.
PS C:\> Get-ScheduledJob | foreach {$_.JobTriggers}

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

Exemplo 7: Comparar gatilhos de trabalho

The first command gets the job trigger of the ArchiveProjects scheduled job. The command pipes the job trigger to the Tee-Object cmdlet, which saves the job trigger in the $T1 variable and displays it at the command line.
PS C:\> 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

The second command gets the job trigger of the Test-HelpFiles scheduled job. The command pipes the job trigger to the Tee-Object cmdlet, which saves the job trigger in the $T2 variable and displays it at the command line.
PS C:\> 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

The third command compares the job triggers in the $t1 and $t2 variables. It uses the Get-Member cmdlet to get the properties of the job trigger in the $t1 variable. It pipes the properties to the ForEach-Object cmdlet, which compares each property to the properties of the job trigger in the $t2 variable by name. The command then pipes the differing properties to the Format-List cmdlet, which displays them in a list.The output indicates that, although the job triggers appear to be the same, the HelpFiles job trigger includes a random delay of three (3) minutes.
PS C:\> $T1 | Get-Member -Type Property | ForEach-Object { Compare-Object $T1 $T2 -Property $_.Name}
RandomDelay                                                 SideIndicator
-----------                                                 -------------
00:00:00                                                    =>
00:03:00                                                    <=

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 cmdlet Get-ScheduledJob.

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 comando Get-ScheduledJob. 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 cmdlet Get-ScheduledJob.

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, IDou 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 de Get-ScheduledJob para Get-JobTrigger.

Saídas

ScheduledJobTrigger