New-JobTrigger
Crea un trigger di processo per un processo pianificato.
Sintassi
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>]
Descrizione
Il New-JobTrigger
cmdlet crea un trigger di processo che avvia un processo pianificato in base a una pianificazione occasionale o ricorrente o quando si verifica un evento.
È possibile utilizzare l'oggetto ScheduledJobTrigger che New-JobTrigger
restituisce per impostare un trigger di processo per un processo pianificato nuovo o esistente. È anche possibile creare un trigger di processo con il Get-JobTrigger
cmdlet per ottenere il trigger di processo di un processo pianificato esistente o con un valore di tabella hash per rappresentare un trigger di processo.
Quando si crea un trigger di processo, esaminare i valori predefiniti delle opzioni specificate dal New-ScheduledJobOption
cmdlet. Queste opzioni, che hanno gli stessi valori validi e predefiniti delle opzioni corrispondenti nell'Utilità di pianificazione, influiscono sulla pianificazione e sulla tempistica dei processi pianificati.
New-JobTrigger
è una raccolta 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 visualizzare about_Scheduled_Jobs.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Una volta pianificata
In questo esempio viene creato un trigger di processo per avviare un processo pianificato una sola volta.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Cmdlet New-JobTrigger
per creare un trigger di processo che avvia un processo pianificato una sola volta. Il valore del parametro At è una stringa che Windows PowerShell converte in un oggetto DateTime .
Il valore del parametro At include una data esplicita, non solo un'ora. Se la data viene omessa il trigger viene creato con la data corrente e l'ora 3:00 am, che è probabilmente un'ora già passata.
Esempio 2: Pianificazione giornaliera
In questo esempio viene creato un nuovo trigger di processo per avviare un processo pianificato ogni terzo giorno.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Questo comando crea un trigger di processo che avvia un processo pianificato ogni 3 giorni alle 4:15 am.
Poiché il valore del parametro At non include una data, la data corrente viene utilizzata come valore di data nell'oggetto DateTime . Se la data e l'ora sono passate, il processo pianificato viene avviato all'occorrenza successiva, ovvero 3 giorni dopo dal valore del parametro At .
Esempio 3: Pianificazione settimanale
In questo esempio viene creato un trigger di processo che avvia un processo pianificato ogni quarta settimana nei giorni specificati della settimana.
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
Questo comando crea un trigger di processo per avviare un processo pianificato lunedì, mercoledì e venerdì alle 2300 ore (11:00) ogni 4 settimane.
È anche possibile immettere il valore del parametro DaysOfWeek in numeri interi, ad esempio -DaysOfWeek 1, 5
.
Esempio 4: Pianificazione accesso
In questo esempio viene creato un trigger di processo per avviare un processo pianificato all'accesso di un utente specifico.
New-JobTrigger -AtLogOn -User Domain01\Admin01
Questo comando crea un trigger di processo per avviare un processo pianificato ogni volta che l'amministratore di dominio accede al computer.
Esempio 5: Uso di un ritardo casuale
In questo esempio viene creato un nuovo trigger di processo con un ritardo casuale dell'intervallo di tempo.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Questo comando crea un trigger di processo per avviare un processo pianificato ogni giorno alle 1:00 del mattino. Il comando usa il parametro RandomDelay per impostare il ritardo massimo su 20 minuti. Di conseguenza, il processo viene eseguito ogni giorno tra l'1:00 e l'1:20 am, con l'intervallo che varia in modo pseudo-casuale.
È possibile usare un ritardo casuale di campionamento, il bilanciamento del carico e altre attività amministrative. Quando si imposta il valore di ritardo, esaminare i valori effettivi e predefiniti del New-ScheduledJobOption
cmdlet e coordinare il ritardo con le impostazioni delle opzioni.
Esempio 6: Creare un trigger di processo per un nuovo processo pianificato
In questo esempio viene usato un trigger di processo per creare un nuovo processo pianificato.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
Il primo comando usa il New-JobTrigger
cmdlet per creare un trigger di processo che avvia un processo ogni lunedì, mercoledì e venerdì alle 12:01. Il comando salva il trigger del processo nella $t
variabile .
Il secondo comando usa il Register-ScheduledJob
cmdlet per creare un processo pianificato che avvia un processo ogni lunedì, mercoledì e venerdì alle 12:01. Il valore del parametro Trigger è il trigger archiviato nella $t
variabile.
Esempio 7: Aggiungere un trigger di processo a un processo pianificato
Questo esempio mostra come aggiungere un trigger di processo a un processo pianificato esistente.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
È possibile aggiungere più trigger di processo a un qualsiasi processo pianificato.
Il comando usa il Add-JobTrigger
cmdlet per aggiungere il trigger di processo al processo pianificato SynchronizeApps . Il valore del parametro Trigger è un New-JobTrigger
comando che esegue il processo ogni giorno alle 3:10.
Al termine del comando, SynchronizeApps è un processo pianificato che viene eseguito al momento specificato dal trigger di processo.
Esempio 8: Creare un trigger di processo ripetuto
In questo esempio viene creato un trigger di processo ripetuto per l'esecuzione solo per un periodo di tempo specifico.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Questo comando crea un trigger di processo che esegue un processo ogni 60 minuti per 48 ore a partire dal 12 settembre 2013 alle 13:00.
Esempio 9: Arrestare un trigger di processo ripetuto
In questo esempio viene arrestato un trigger di processo ripetuto.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Questo comando arresta forzatamente il processo SecurityCheck , che viene attivato per l'esecuzione ogni 60 minuti fino alla scadenza del trigger del processo.
Per impedire la ripetizione del processo, il comando usa per Get-JobTrigger
ottenere il trigger di processo del processo SecurityCheck e il Set-JobTrigger
cmdlet per modificare l'intervallo di ripetizione e la durata della ripetizione del trigger di processo su zero (0
).
Esempio 10: Creare un trigger di processo orario
In questo esempio viene creato un trigger di processo ripetuto che viene eseguito a tempo indeterminato.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
Il comando seguente crea un trigger di processo che esegue un processo pianificato ogni 12 ore per un periodo di tempo indefinito. La pianificazione inizia domani (21/9/2012) a mezzanotte (0:00 am).
Parametri
-At
Avvia il processo alla data e all'ora specificate. Immettere un oggetto DateTime , ad esempio quello restituito dal Get-Date
cmdlet o una stringa che può essere convertita in una data e un'ora, ad esempio April 19, 2012 15:00
, 12/31
o 3am
. Se non si specifica un elemento della data, ad esempio l'anno, la data nel trigger è l'elemento corrispondente della data corrente.
Quando si usa il parametro Once , impostare il valore del parametro At su una data e un'ora future. Poiché la data predefinita in un oggetto DateTime è la data corrente, se si specifica un'ora prima dell'ora corrente senza una data esplicita, il trigger del processo viene creato per un'ora nel passato.
Gli oggetti DateTime e le stringhe convertite in oggetti DateTime vengono modificati automaticamente in modo da essere compatibili con i formati di data e ora selezionati per il computer locale in Area e lingua in Pannello di controllo.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtLogOn
Avvia il processo pianificato quando gli utenti specificati accedono al computer. Per specificare un utente, usare il parametro User .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Avvia il processo pianificato all'avvio di Windows.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Specifica una pianificazione ricorrente di un processo giornaliero. Usare gli altri parametri nel set di parametri Daily per specificare i dettagli della pianificazione.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysInterval
Specifica il numero di giorni tra le occorrenze in una pianificazione giornaliera. Ad esempio, un valore di 3
avvia il processo pianificato nei giorni 1
, 4
7
e così via. Il valore predefinito è 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Specifica i giorni della settimana in cui viene eseguito un processo pianificato settimanale. Immettere i nomi dei giorni, ad esempio Monday
o numeri interi6
0
-, dove 0
rappresenta domenica. Questo parametro è obbligatorio nel set di parametri Weekly .
I nomi dei giorni vengono convertiti nei corrispondenti valori interi nel trigger di processo. Quando si racchiudeno i nomi dei giorni tra virgolette in un comando, racchiudere ogni nome di giorno tra virgolette separate, ad esempio "Monday", "Tuesday"
. Se si racchiudono più nomi dei giorni in una coppia di virgolette singole vengono sommati i valori interi corrispondenti. Ad esempio, "Monday, Tuesday"
(1 + 2
) restituisce un valore pari Wednesday
a (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
Specifica una pianificazione non ricorrente (una volta) o ripetuta personalizzata. Per creare una pianificazione ripetuta, usare il parametro Once con i parametri RepeatDuration e RepeatInterval .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RandomDelay
Consente un ritardo casuale che inizia all'ora di inizio pianificata e imposta il valore di ritardo massimo.
La lunghezza del ritardo è impostata in modo pseudo-casuale per ogni avvio e varia da nessun ritardo all'ora specificata dal valore di questo parametro. Il valore predefinito, zero (00:00:00
), disabilita il ritardo casuale.
Immettere un oggetto timespan, ad esempio quello restituito dal New-TimeSpan
cmdlet o immettere un valore in <hours>:<minutes>:<seconds>
formato, che viene convertito automaticamente in un oggetto TimeSpan .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepeatIndefinitely
Questo parametro, disponibile a partire da Windows PowerShell 4.0, elimina la necessità di specificare un valore TimeSpan.MaxValue per il parametro RepetitionDuration per eseguire ripetutamente un processo pianificato, per un periodo illimitato.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Ripete il processo fino allo scadere del tempo specificato. La frequenza di ripetizione è determinata dal valore del parametro RepetitionInterval . Ad esempio, se il valore di RepetitionInterval è 5 minuti e il valore di RepetitionDuration è di 2 ore, il processo viene attivato ogni cinque minuti per due ore.
Immettere un oggetto timespan, ad esempio quello restituito dal New-TimeSpan
cmdlet o una stringa che può essere convertita in un oggetto timespan, ad esempio 1:05:30
.
Per eseguire un processo a tempo indeterminato, aggiungere invece il parametro RepeatIndefinitely .
Per arrestare un processo prima della scadenza della durata della ripetizione del trigger di processo, usare il Set-JobTrigger
cmdlet per impostare il valore Di ripetizionedurazione su zero (0
).
Questo parametro è valido solo quando i parametri Once, At e RepetitionInterval vengono usati nel comando .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionInterval
Ripete il processo in base all'intervallo di tempo specificato. Ad esempio, se il valore di questo parametro è di 2 ore, il processo viene attivato ogni due ore. Il valore predefinito, 0
, non ripete il processo.
Immettere un oggetto timespan, ad esempio quello restituito dal New-TimeSpan
cmdlet o una stringa che può essere convertita in un oggetto timespan, ad esempio 1:05:30
.
Questo parametro è valido solo quando i parametri Once, At e RepetitionDuration vengono usati nel comando .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Specifica gli utenti che attivano un avvio AtLogon di un processo pianificato. Immettere il nome di un utente in o in <UserName>
formato o <Domain\Username>
immettere un asterisco (*
) per rappresentare tutti gli utenti. Il valore predefinito è tutti gli utenti.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Specifica una pianificazione ricorrente di un processo settimanale. Usare gli altri parametri nel set di parametri Weekly per specificare i dettagli della pianificazione.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WeeksInterval
Specifica il numero di settimane tra le occorrenze in una pianificazione di un processo settimanale. Ad esempio, un valore di 3
avvia il processo pianificato nelle settimane 1
, 4
7
e così via. Il valore predefinito è 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Questo cmdlet restituisce un oggetto ScheduledJobTrigger che rappresenta il trigger creato.
Note
I trigger di processo non vengono salvati su disco. Tuttavia, i processi pianificati vengono salvati su disco ed è possibile usare
Get-JobTrigger
per ottenere il trigger di processo di qualsiasi processo pianificato.New-JobTrigger
non impedisce di creare un trigger di processo che non eseguirà un processo pianificato, ad esempio un trigger monouso per una data nel passato.Il
Register-ScheduledJob
cmdlet accetta un oggetto ScheduledJobTrigger , ad esempio quello restituito daiNew-JobTrigger
cmdlet oGet-JobTrigger
o una tabella hash con valori di trigger.Per inviare una tabella hash, usare le chiavi seguenti.
- Frequenza:
Once
,Daily
,Weekly
,AtStartup
oAtLogon
- In: qualsiasi stringa temporale valida, ad esempio
3am
- DaysOfWeek: qualsiasi combinazione di nomi di giorno come stringhe, ad esempio
"Monday", "Wednesday"
- Intervallo: qualsiasi intervallo di frequenza valido come numero intero
- RandomDelay: qualsiasi stringa timepan valida, ad esempio
30minutes
- Utente: qualsiasi utente valido, ad esempio
Domain1\User01
; usato solo con il valore di frequenza AtLogon
- Frequenza:
Collegamenti correlati
- 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