Condividi tramite


Set-ScheduledJobOption

Modifica le opzioni di processo di un processo pianificato.

Sintassi

Set-ScheduledJobOption
   [-InputObject] <ScheduledJobOptions>
   [-PassThru]
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Descrizione

Il Set-ScheduledJobOptions cmdlet modifica le opzioni di processo dei processi pianificati.

Per modificare le opzioni di un processo pianificato, iniziare usando il Get-ScheduledJobOption cmdlet per ottenere le opzioni di processo di un processo pianificato. Inviare quindi tramite pipe le opzioni a Set-ScheduledJobOption o salvare le opzioni in una variabile e usare il parametro InputObject del Set-ScheduledJobOption cmdlet per identificare le opzioni. Usare i parametri rimanenti di Set-ScheduledJobOption per modificare le opzioni del processo.

Per attivare un'opzione di processo, usare il parametro che imposta tale opzione. Per disattivare un'opzione, digitare il nome del parametro, i due punti (:) e $false. Ad esempio, per disattivare l'opzione RunElevated , digitare -RunElevated:$false.

Ogni oggetto opzioni processo include una proprietà JobDefinition che contiene il processo pianificato, pertanto l'associazione con il processo pianificato viene mantenuta quando vengono modificate le opzioni del processo.

Le opzioni del processo pianificato determinano in che modo viene eseguito il processo quando viene avviato da Utilità di pianificazione. Queste opzioni non si applicano quando si usa il Start-Job cmdlet per avviare un processo pianificato.

Set-ScheduledJobOption è 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: Modificare le opzioni del processo

Get-ScheduledJobOption -Name "DeployPackage"

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : False
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          :

Get-ScheduledJobOption -Name "DeployPackage" |
    Set-ScheduledJobOption -WakeToRun -RequireNetwork:$false -PassThru

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : True
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNewJobDefinition          :

Questo esempio mostra come modificare le opzioni di un processo pianificato nel computer locale.

Il primo comando usa il Get-ScheduledJobOption cmdlet per ottenere le opzioni di processo del processo pianificato DeployPackage. L'output mostra che le proprietà WakeToRun e RunElevated sono impostate su $false.

Il secondo comando usa il Set-ScheduledJobOpton cmdlet per modificare le opzioni del processo in modo che i valori delle proprietà WakeToRun e RunWithoutNetwork siano $True. Il comando usa il parametro PassThru per restituire il trigger dopo la modifica.

Questo comando non è necessario. È incluso solo per mostrare l'effetto della modifica dell'opzione.

Esempio 2: Modificare un'opzione in tutti i processi pianificati remoti

Invoke-Command -Computer "Server01" -ScriptBlock {
    Get-ScheduledJob |
        Get-ScheduledJobOption |
        Set-ScheduledJobOption -IdleTimeout 2:00:00
}

Questo comando modifica il valore di IdleTimeout da un'ora (il valore predefinito) a due ore in tutti i processi pianificati nel computer Server01.

Il comando usa il Invoke-Command cmdlet per eseguire un comando nel computer Server01.

Il comando remoto inizia con un Get-ScheduledJob comando che ottiene tutti i processi pianificati nel computer. I processi pianificati vengono inviati tramite pipe al Get-ScheduledJobOption cmdlet , che ottiene le opzioni di processo dei processi pianificati. Ogni oggetto opzioni processo contiene una proprietà JobDefinition che contiene il processo pianificato, quindi l'oggetto opzioni rimane associato al processo pianificato anche quando viene modificato.

I trigger di processo vengono inviati tramite pipe al Set-ScheduledJobOption cmdlet, che modifica il valore dell'opzione IdleTimeout su due ore (2:00:00).

Parametri

-ContinueIfGoingOnBattery

Non arrestare il processo pianificato se il computer passa all'alimentazione con batterie (si scollega dalla rete elettrica) mentre il processo è in esecuzione. Per impostazione predefinita, i processi pianificati vengono arrestati quando il computer si scollega dalla rete elettrica.

Il parametro ContinueIfGoingOnBattery imposta il valore della proprietà StopIfGoingOnBatteries dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DoNotAllowDemandStart

Avviare il processo solo quando è attivato. Gli utenti non possono avviare il processo manualmente, ad esempio usando la funzionalità Esegui in Utilità di pianificazione.

Questo parametro interessa solo Utilità di pianificazione. Non impedisce agli utenti di usare il Start-Job cmdlet per avviare il processo.

Il parametro DoNotAllowDemandStart imposta il valore della proprietà DoNotAllowDemandStart dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-HideInTaskScheduler

Non visualizzare il processo in Utilità di pianificazione. Questo valore interessa solo il computer in cui viene eseguito il processo. Per impostazione predefinita, le attività pianificate vengono visualizzate in Utilità di pianificazione.

Anche se un'attività è nascosta, gli utenti possono visualizzare l'attività selezionando l'opzione Mostra visualizzazione attività nascoste in Utilità di pianificazione.

Il parametro HideInTaskScheduler imposta il valore della proprietà ShowInTaskScheduler dei processi pianificati su $false.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-IdleDuration

Specifica per quanto tempo il computer deve rimanere inattivo prima che il processo venga avviato. Il valore predefinito è 10 minuti. Se il computer non è inattiva per la durata specificata prima della scadenza del valore di IdleTimeout , il processo pianificato non viene eseguito fino all'ora pianificata successiva, se presente.

Immettere un oggetto timespan, ad esempio quello generato dal New-TimeSpan cmdlet, oppure immettere un valore in <hours>:<minutes>:<seconds> formato convertito automaticamente in un oggetto TimeSpan .

Per abilitare questo valore, usare il parametro StartIfIdle . Per impostazione predefinita, la proprietà StartIfNotIdle dei processi pianificati è impostata su $true e Windows PowerShell ignora i valori IdleDuration e IdleTimeout .

Tipo:TimeSpan
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-IdleTimeout

Specifica per quanto tempo il computer deve rimanere inattivo prima che il processo venga avviato. Il valore predefinito è 10 minuti. Se il computer non è inattiva per la durata specificata prima della scadenza del valore di IdleTimeout , il processo pianificato non viene eseguito fino all'ora pianificata successiva, se presente.

Immettere un oggetto timespan, ad esempio quello generato dal New-TimeSpan cmdlet, oppure immettere un valore in <hours>:<minutes>:<seconds> formato convertito automaticamente in un oggetto TimeSpan .

Per abilitare questo valore, usare il parametro StartIfIdle . Per impostazione predefinita, la proprietà StartIfNotIdle dei processi pianificati è impostata su $True e Windows PowerShell ignora i valori IdleDuration e IdleTimeout .

Tipo:TimeSpan
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Specifica le opzioni di processo. Immettere una variabile contenente oggetti ScheduledJobOptions o digitare un comando o un'espressione che ottiene oggetti ScheduledJobOptions , ad esempio un Get-ScheduledJobOption comando. È anche possibile inviare tramite pipe un oggetto ScheduledJobOptions a Set-ScheduledJobOption.

Tipo:ScheduledJobOptions
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-MultipleInstancePolicy

Determina il modo con cui il sistema risponde a una richiesta di avvio di un'istanza di un processo pianificato mentre è in esecuzione un'altra istanza del processo. I valori validi per questo parametro sono:

  • IgnoreNew - La nuova istanza del processo viene ignorata. Questo è il valore predefinito.
  • Parallel - La nuova istanza del processo viene avviata immediatamente.
  • Queue - La nuova istanza del processo viene avviata non appena viene completata l'istanza corrente.
  • StopExisting - L'istanza corrente del processo viene interrotta e viene avviata la nuova istanza.

Per eseguire il processo devono essere soddisfatte tutte le condizioni per la pianificazione del processo. Ad esempio, se le condizioni impostate dai parametri RequireNetwork, IdleDuration e IdleTimeout non vengono soddisfatte, l'istanza del processo non viene avviata, indipendentemente dal valore di questo parametro.

Tipo:TaskMultipleInstancePolicy
Valori accettati:None, IgnoreNew, Parallel, Queue, StopExisting
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PassThru

Restituisce un oggetto che rappresenta l'elemento in uso. Per impostazione predefinita, il cmdlet non genera alcun output.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RequireNetwork

Esegue il processo pianificato solo quando sono disponibili connessioni di rete.

Se si specifica questo parametro e la rete non è disponibile all'ora di inizio pianificata, il processo non viene eseguito fino alla successiva ora di inizio pianificata, se presente.

Il parametro RequireNetwork imposta il valore della proprietà RunWithoutNetwork dei processi pianificati su $false.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RestartOnIdleResume

Riavvia un processo pianificato quando il computer diventa inattivo. Questo parametro funziona con il parametro StopIfGoingOffIdle , che sospende un processo pianificato in esecuzione se il computer diventa attivo (lascia lo stato di inattività).

Il parametro RestartOnIdleResume imposta il valore della proprietà RestartOnIdleResume dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RunElevated

Esegue il processo pianificato con le autorizzazioni di un membro del gruppo Administrators nel computer in cui viene eseguito il processo.

Per consentire l'esecuzione di un processo pianificato con autorizzazioni di amministratore, usare il parametro Credential di Register-ScheduledJob per fornire credenziali esplicite per il processo.

Il parametro RunElevated imposta il valore della proprietà RunElevated dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StartIfIdle

Avvia il processo pianificato se il computer è inattiva per l'ora specificata dal parametro IdleDuration prima della scadenza del tempo specificato dal parametro IdleTimeout .

Per impostazione predefinita, i parametri IdleDuration e IdleTimeout vengono ignorati e il processo viene avviato all'ora di inizio pianificata anche se il computer è occupato.

Se si specifica questo parametro e il computer è occupato (non inattivo) all'ora di inizio pianificata, il processo non viene eseguito fino alla successiva ora di inizio pianificata, se presente.

Il parametro StartIfIdle imposta il valore della proprietà StartIfNotIdle dei processi pianificati su $false.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StartIfOnBattery

Avvia il processo pianificato anche se il computer è alimentato a batterie all'ora di inizio pianificata. Il valore predefinito è $false.

Il parametro StartIfOnBattery imposta il valore della proprietà StartIfOnBatteries dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StopIfGoingOffIdle

Sospende un processo pianificato in esecuzione se il computer diventa attivo (non inattivo) mentre il processo è in esecuzione.

Per impostazione predefinita, un processo pianificato sospeso quando il computer diventa attivo viene ripreso quando il computer torna inattivo. Per modificare questo comportamento predefinito, usare il parametro RestartOnIdleResume .

Il parametro StopIfGoingOffIdle imposta il valore della proprietà StopIfGoingOffIdle dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WakeToRun

Riattiva il computer dallo stato di ibernazione o sospensione all'ora di inizio pianificata in modo che possa eseguire il processo. Per impostazione predefinita, se il computer è in stato di ibernazione o sospensione all'ora di inizio pianificata, il processo non viene eseguito.

Il parametro WakeToRun imposta il valore della proprietà WakeToRun dei processi pianificati su $true.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

ScheduledJobOptions

È possibile inviare tramite pipe un oggetto opzioni processo pianificato a questo cmdlet.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

ScheduledJobOptions

Quando si usa il parametro PassThru , questo cmdlet restituisce le opzioni del processo modificate.