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 cmdlet Set-ScheduledJobOptions modifica le opzioni di processo dei processi pianificati.

Per modificare le opzioni di un processo pianificato, iniziare usando il cmdlet Get-ScheduledJobOption per ottenere le opzioni di processo di un processo pianificato. Quindi inviare tramite pipe le opzioni a Set-ScheduledJobOption o salvare le opzioni in una variabile e usare il parametro InputObject del cmdlet Set-ScheduledJobOption per identificare le opzioni. Usare i parametri restanti di Set-ScheduledJobOption per modificare le opzioni di 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 di processo include una proprietà JobDefinition che contiene il processo pianificato, quindi l'associazione con il processo pianificato viene mantenuta quando vengono modificate le opzioni di 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 cmdlet Start-Job 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 vedere about_Scheduled_Jobs.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Modificare le opzioni del processo

PS C:\> 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          :

The second command uses the **Set-ScheduledJobOpton** cmdlet to change the job options so the values of the WakeToRun and RunWithoutNetwork properties are $True. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> 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 cmdlet Get-ScheduledJobOption per ottenere le opzioni di processo del processo pianificato DeployPackage. L'output mostra che le proprietà WakeToRun e RunElevated sono impostate su $False.

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

PS C:\> 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 cmdlet Invoke-Command per eseguire un comando nel computer Server01.

Il comando remoto inizia con un comando Get-ScheduledJob che ottiene tutti i processi pianificati nel computer. I processi pianificati vengono inviati tramite pipe al cmdlet Get-ScheduledJobOption, che ottiene le opzioni di processo dei processi pianificati. Ogni oggetto opzioni di processo contiene una proprietà JobDefinition contenente 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 cmdlet Set-ScheduledJobOption , 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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 cmdlet Start-Job per avviare il processo.

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 resta inattivo per la durata specificata prima dello scadere del valore IdleTimeout, il processo pianificato non viene eseguito fino alla successiva ora pianificata, se presente.

Immettere un oggetto timepan, ad esempio uno generato dal cmdlet New-TimeSpan, oppure immettere un valore in <formato hours>:<minutes>:<seconds> che viene 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.

Type:TimeSpan
Position:Named
Default value:10 minutes
Required:False
Accept pipeline input:False
Accept wildcard characters: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 resta inattivo per la durata specificata prima dello scadere del valore IdleTimeout, il processo pianificato non viene eseguito fino alla successiva ora pianificata, se presente.

Immettere un oggetto timepan, ad esempio uno generato dal cmdlet New-TimeSpan, oppure immettere un valore in <formato hours>:<minutes>:<seconds> che viene 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.

Type:TimeSpan
Position:Named
Default value:10 minutes
Required:False
Accept pipeline input:False
Accept wildcard characters: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 comando Get-ScheduledJobOption. È anche possibile inviare tramite pipe un oggetto ScheduledJobOptions a Set-ScheduledJobOption.

Type:ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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. Si tratta del valore predefinito.
  • Parallelo. La nuova istanza del processo viene avviata immediatamente.
  • Coda. La nuova istanza del processo viene avviata subito dopo il completamento dell'istanza corrente.
  • StopExisting. L'istanza corrente del processo viene arrestata 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.

Type:TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:IgnoreNew
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RestartOnIdleResume

Riavvia un processo pianificato quando il computer diventa inattivo. Questo parametro funziona con il parametro StopIfGoingOffIdle che consente di sospendere un processo pianificato in esecuzione se il computer diventa attivo (esce dallo stato inattivo).

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunElevated

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

Per abilitare 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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartIfIdle

Avvia il processo pianificato se il computer è rimasto inattivo per il tempo specificato dal parametro IdleDuration prima dello scadere dell'ora specificata 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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

ScheduledJobOptions

È possibile inviare tramite pipe un oggetto opzioni del processo pianificato a Set-ScheduledJobOption.

Output

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Quando si usa il parametro Passthru, Set-ScheduledJobOption restituisce le opzioni di processo modificate. In caso contrario, il cmdlet non genera alcun output.