Condividi tramite


Get-JobTrigger

Ottiene i trigger dei processi pianificati.

Sintassi

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

Descrizione

Il cmdlet Get-JobTrigger ottiene i trigger dei processi pianificati. È possibile usare questo comando per esaminare i trigger di processo o per inviare tramite pipe i trigger di processo ad altri cmdlet.

Un trigger di processo definisce una pianificazione o condizioni ricorrenti per l'avvio di un processo pianificato. I trigger di processo non vengono salvati su disco separatamente, ma fanno parte di un processo pianificato. Per ottenere un trigger di processo, specificare il processo pianificato che viene avviato dal trigger.

Usare i parametri del cmdlet Get-JobTrigger per identificare i processi pianificati. È possibile identificare i processi pianificati in base ai nomi o ai numeri di identificazione oppure immettendo o piping oggetti ScheduledJob , ad esempio quelli restituiti dal cmdlet Get-ScheduledJob, a Get-JobTrigger.

Get-JobTrigger è una delle raccolte di cmdlet di pianificazione dei processi nel modulo PSScheduledJob incluso in Windows PowerShell.

Per altre informazioni sui lavori pianificati, vedere gli argomenti Informazioni nel modulo PSScheduledJob. Importare il modulo PSScheduledJob e quindi digitare: Get-Help about_Scheduled* o vedere about_Scheduled_Jobs.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Ottenere un trigger di processo in base al nome del processo pianificato

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

Il comando usa il parametro Name di Get-JobTrigger per ottenere i trigger di processo del processo pianificato di BackupJob.

Esempio 2: Ottenere un trigger di processo in base all'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

Nell'esempio viene usato il parametro ID di Get-JobTrigger per ottenere i trigger di processo di un processo pianificato.

Esempio 3: Ottenere i trigger del processo tramite piping di un processo

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

Questo comando ottiene i trigger di processo di tutti i processi con Backup o Archivio nei nomi.

Esempio 4: Ottenere il trigger del processo di un processo in un computer remoto

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

Questo comando ottiene uno dei due processi trigger di un processo pianificato in un computer remoto.

Il comando usa il cmdlet Invoke-Command per eseguire un comando nel computer Server01. Usa il cmdlet Get-ScheduledJob per ottenere il processo pianificato di Backup, che esegue la pipe al cmdlet Get-JobTrigger . Usa il parametro TriggerID per ottenere solo il secondo trigger.

Esempio 5: Ottenere tutti i trigger di processo

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

Questo comando ottiene tutti i trigger di processo di tutti i processi pianificati nel computer locale.

Il comando usa il Get-ScheduledJob per ottenere i processi pianificati nel computer locale e li pipe in Get-JobTrigger, che ottiene il trigger di processo di ogni processo pianificato (se presente).

Per aggiungere il nome del processo pianificato alla visualizzazione del trigger del processo, il comando usa la funzionalità di proprietà calcolata del cmdlet Format-Table. Oltre alle proprietà del trigger di processo visualizzate per impostazione predefinita, il comando crea una nuova proprietà ScheduledJob che visualizza il nome del processo pianificato.

Esempio 6: Ottenere la proprietà trigger del processo di un processo pianificato

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}

I trigger di un processo pianificato vengono archiviati nella proprietà JobTriggers del processo. In questo esempio vengono illustrate le alternative all'uso del cmdlet Get-JobTrigger per ottenere i trigger di processo. I risultati sono identici all'uso del cmdlet Get-JobTrigger e le tecniche possono essere usate indifferentemente.

Esempio 7: Confrontare i trigger del processo

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

Questo esempio illustra come confrontare i trigger di processo di due processi pianificati.

Parametri

-Id

Specifica il numero di identificazione di un processo pianificato. Get-JobTrigger ottiene i trigger del processo pianificato specificato.

Per ottenere il numero di processi pianificati nel computer locale o in un computer remoto, usare il cmdlet Get-ScheduledJob.

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

-InputObject

Specifica un processo pianificato. Immettere una variabile contenente oggetti ScheduledJob o digitare un comando o un'espressione che ottiene oggetti ScheduledJob , ad esempio un comando Get-ScheduledJob. È anche possibile eseguire la pipe degli oggetti ScheduledJob in Get-JobTrigger.

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

-Name

Specifica il nome di un processo pianificato. Get-JobTrigger ottiene i trigger del processo pianificato specificato. Sono supportati caratteri jolly.

Per ottenere i nomi dei processi pianificati nel computer locale o in un computer remoto, usare il cmdlet Get-ScheduledJob.

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

-TriggerId

Ottiene i trigger di processo specificati. Immettere gli ID trigger di uno o più trigger di un processo pianificato. Usare questo parametro quando il processo pianificato che viene specificato dai parametri Name, ID, o InputObject dispone di più trigger di processo.

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

Input

ScheduledJobDefinition

È possibile eseguire la pipe di un processo pianificato da Get-ScheduledJob a Get-JobTrigger.

Output

ScheduledJobTrigger