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 cmdlet New-JobTrigger crea un trigger di processo che avvia un processo pianificato in base a una pianificazione occasionale o ricorrente oppure quando si verifica un evento.
È possibile usare l'oggetto ScheduledJobTrigger restituito da New-JobTrigger per impostare un trigger di processo per un processo pianificato nuovo o esistente. È anche possibile creare un trigger di processo usando il cmdlet Get-JobTrigger per ottenere il trigger di processo di un processo pianificato esistente o usando 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 cmdlet New-ScheduledJobOption. Queste opzioni, che hanno gli stessi valori validi e predefiniti delle opzioni corrispondenti in Task Scheduler, interessano la pianificazione e la temporizzazione 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 vedere about_Scheduled_Jobs.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Una volta pianificata
PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Questo comando usa il cmdlet New-JobTrigger per creare un trigger di processo che avvia un processo pianificato per 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
PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Daily 9/21/2012 4:15:00 AM True
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, viene usata la data corrente come valore data nell'oggetto DateTime. Se data e ora sono nel passato, il processo pianificato viene avviato all'occorrenza successiva, ovvero 3 giorni dopo il valore del parametro At.
Esempio 3: Pianificazione settimanale
PS C:\> 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 che avvia un processo pianificato ogni 4 settimane di lunedì, mercoledì e venerdì alle ore 23:00 (11:00 pm).
È anche possibile immettere il valore del parametro DaysOfWeek in interi, ad esempio -DaysOfWeek 1, 5
.
Esempio 4: Pianificazione accesso
PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01
Questo comando crea un trigger di processo che avvia un processo pianificato ogni volta che l'amministratore di dominio accede al computer.
Esempio 5: Uso di un ritardo casuale
PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Questo comando crea un trigger di processo che avvia un processo pianificato ogni giorno all'1:00 am. 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 cmdlet New-ScheduledJobOption e coordinare il ritardo con le impostazioni dell'opzione.
Esempio 6: Create un trigger di processo per un nuovo processo pianificato
The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T
Questi comandi usano un trigger di processo per creare un nuovo processo pianificato.
Esempio 7: Aggiungere un trigger di processo a un processo pianificato
PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Questo esempio mostra come aggiungere un trigger di processo a un processo pianificato esistente. È possibile aggiungere più trigger di processo a un qualsiasi processo pianificato.
Il comando usa il cmdlet Add-JobTrigger per aggiungere il trigger di processo al processo pianificato SynchronizeApps. Il valore del parametro Trigger è un comando New-JobTrigger che esegue il processo ogni giorno alle 3.10 am.
Al completamento del comando, SynchronizeApps è un processo pianificato eseguito negli orari specificati dal trigger di processo.
Esempio 8: Create un trigger di processo ripetuto
PS C:\> 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
PS C:\> 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 relativo trigger di processo.
Per impedire la ripetizione del processo, il comando usa il Get-JobTrigger per ottenere il trigger di processo del processo SecurityCheck e il cmdlet Set-JobTrigger per modificare l'intervallo di ripetizione e la durata della ripetizione del trigger di processo su zero (0).
Esempio 10: Create un trigger di processo orario
PS C:\> 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 cmdlet Get-Date, o una stringa che può essere convertita in una data e un'ora, ad esempio "19 aprile 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, viene creato il trigger di processo per un'ora nel passato.
Gli oggetti DateTime e le stringhe convertiti in oggetti DateTime vengono modificati automaticamente in modo che siano 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: | False |
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: | False |
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, il valore 3 avvia il processo pianificato nel 1°, 4°, 7° giorno e così via. Il valore predefinito è 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
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 interi da 0 a 6, 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 racchiudono i nomi dei giorni tra virgolette in un comando, racchiudere il nome di ogni giorno tra virgolette separatamente, 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 "Wednesday" (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 RepetitionDuration e RepetitionInterval.
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 timepan, ad esempio quello restituito dal cmdlet New-TimeSpan, oppure immettere un valore in <formato hours>:<minutes>:<seconds> , che viene convertito automaticamente in un oggetto TimeSpan .
Type: | TimeSpan |
Position: | Named |
Default value: | 00:00:00 |
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 di tempo indefinito.
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 è 2 ore, il processo viene attivato ogni cinque minuti per due ore.
Immettere un oggetto timepan, ad esempio quello restituito dal cmdlet New-TimeSpan o una stringa che può essere convertita in un oggetto timepan, ad esempio "1:05:30".
Per eseguire un processo per un tempo indefinito, invece, aggiungere il parametro RepeatIndefinitely.
Per arrestare un processo prima della scadenza della durata della ripetizione del trigger del processo, usare il cmdlet Set-JobTrigger per impostare il valore Di ripetizione su zero (0).
Questo parametro è valido solo quando i parametri Once, At e RepetitionInterval vengono usati nel comando.
Type: | TimeSpan |
Position: | Named |
Default value: | 0 |
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 comporta la ripetizione del processo.
Immettere un oggetto timepan, ad esempio quello restituito dal cmdlet New-TimeSpan o una stringa che può essere convertita in un oggetto timepan, 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: | 0 |
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 nel <formato UserName o Domain\Username>> o <immettere un asterisco (*) per rappresentare tutti gli utenti. Il valore predefinito è tutti gli utenti.
Type: | String |
Position: | Named |
Default value: | All users |
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, il valore 3 avvia il processo pianificato nella 1°, 4°, 7° settimana e così via. Il valore predefinito è 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Non è possibile inviare input tramite pipe a questo cmdlet.
Output
Note
I trigger di processo non vengono salvati su disco. Tuttavia, i processi pianificati vengono salvati su disco ed è possibile usare il Get-JobTrigger per ottenere il trigger del 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 una tantum per una data nel passato.
Il cmdlet Register-ScheduledJob accetta un oggetto ScheduledJobTrigger, ad esempio quello restituito dai cmdlet New-JobTrigger o Get-JobTrigger oppure da una tabella hash con valori trigger.
Per inviare una tabella hash, usare le chiavi seguenti.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(o qualsiasi stringa temporale valida);DaysOfWeek="Monday", "Wednesday"
(o qualsiasi combinazione di nomi dei giorni);Interval=2
(o qualsiasi intervallo di frequenza valido);RandomDelay="30minutes"
(o qualsiasi stringa intervallo di tempo valida);User="Domain1\User01
(o qualsiasi utente valido; usato solo con il valore di frequenza AtLogon ) }
Collegamenti correlati
- about_Scheduled_Jobs
- 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