Get-JobTrigger

Obtiene los desencadenadores de trabajo de los trabajos programados.

Syntax

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

Description

El cmdlet Get-JobTrigger obtiene los desencadenadores de trabajo de los trabajos programados. Este comando se puede utilizar para examinar los desencadenadores de trabajo o para canalizar los desencadenadores a otros cmdlets.

Un desencadenador de trabajo define una programación o condiciones periódicas para iniciar un trabajo programado. Los desencadenadores de trabajo no se guardan en el disco de forma independiente, sino que forman parte de un trabajo programado. Para obtener un desencadenador de trabajo, especifique el trabajo programado que se inicia mediante el desencadenador.

Use los parámetros del cmdlet Get-JobTrigger para identificar los trabajos programados. Puede identificar los trabajos programados por sus nombres o números de identificación, o si escribe o canaliza objetos ScheduledJob , como los devueltos por el cmdlet Get-ScheduledJob, a Get-JobTrigger.

Get-JobTrigger es una de una colección de cmdlets de programación de trabajos en el módulo PSScheduledJob que se incluye en Windows PowerShell.

Para más información sobre los trabajos programados, vea los temas Acerca de en el módulo PSScheduledJob. Importe el módulo PSScheduledJob y escriba: Get-Help about_Scheduled* o vea about_Scheduled_Jobs.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Obtener un desencadenador de trabajo por nombre de trabajo programado

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

El comando usa el parámetro Name de Get-JobTrigger para obtener los desencadenadores de trabajo del trabajo programado BackupJob.

Ejemplo 2: Obtener un desencadenador de trabajo por identificador

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

En el ejemplo se usa el parámetro ID de Get-JobTrigger para obtener los desencadenadores de trabajo de un trabajo programado.

Ejemplo 3: Obtención de desencadenadores de trabajo mediante la canalización de un trabajo

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

Este comando obtiene los desencadenadores de trabajo de todos los trabajos que tienen Backup o Archive en sus nombres.

Ejemplo 4: Obtener el desencadenador de trabajo de un trabajo en un equipo remoto

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

Este comando obtiene uno de los dos desencadenadores de trabajo de un trabajo programado en un equipo remoto.

El comando usa el cmdlet Invoke-Command para ejecutar un comando en el equipo Server01. Usa el cmdlet Get-ScheduledJob para obtener el trabajo programado backup, que canaliza al cmdlet Get-JobTrigger . Usa el parámetro TriggerID para obtener solo el segundo desencadenador.

Ejemplo 5: Obtener todos los desencadenadores de trabajo

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 obtiene todos los desencadenadores de trabajo de todos los trabajos programados en el equipo local.

El comando usa el Get-ScheduledJob para obtener los trabajos programados en el equipo local y canalizalos a Get-JobTrigger, que obtiene el desencadenador de trabajo de cada trabajo programado (si existe).

Para agregar el nombre del trabajo programado a la presentación del desencadenador de trabajo, el comando usa la característica de propiedad calculada del cmdlet Format-Table. Además de las propiedades del desencadenador de trabajo que se muestran de forma predeterminada, el comando crea una nueva propiedad ScheduledJob que muestra el nombre del trabajo programado.

Ejemplo 6: Obtener la propiedad de desencadenador de trabajo de un trabajo programado

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}

Los desencadenadores de trabajo de un trabajo programado se almacenan en la propiedad JobTriggers del trabajo. En este ejemplo se muestran alternativas al uso del cmdlet Get-JobTrigger para obtener desencadenadores de trabajo. El resultado es idéntico a usar el cmdlet Get-JobTrigger y las técnicas se pueden utilizar indistintamente.

Ejemplo 7: Comparación de desencadenadores de trabajo

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                                                    <=

En este ejemplo se muestra cómo comparar los desencadenadores de dos trabajos programados.

Parámetros

-Id

Especifica el número de identificación de un trabajo programado. Get-JobTrigger obtiene el desencadenador de trabajo del trabajo programado especificado.

Para obtener el número de identificación de trabajos programados en el equipo local o en un equipo remoto, use el cmdlet Get-ScheduledJob.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Especifica un trabajo programado Escriba una variable que contenga objetos ScheduledJob o escriba un comando o expresión que obtenga objetos ScheduledJob , como un comando Get-ScheduledJob. También puede canalizar objetos ScheduledJob a Get-JobTrigger.

Type:ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica el nombre de un trabajo programado. Get-JobTrigger obtiene el desencadenador de trabajo del trabajo programado especificado. Se admite caracteres comodín.

Para obtener los nombres de los trabajos programados en el equipo local o en un equipo remoto, use el cmdlet Get-ScheduledJob.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TriggerId

Obtiene los desencadenadores de trabajo especificados. Escriba los identificadores de uno o más desencadenadores de trabajo de un trabajo programado. Utilice este parámetro cuando el trabajo programado que se especifica con los parámetros Name, ID o InputObject tenga varios desencadenadores de trabajo.

Type:Int32[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Puede canalizar un trabajo programado de Get-ScheduledJob a Get-JobTrigger.

Salidas

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger