Set-ScheduledJobOption
變更排程工作的工作選項。
Syntax
Set-ScheduledJobOption
[-InputObject] <ScheduledJobOptions>
[-PassThru]
[-RunElevated]
[-HideInTaskScheduler]
[-RestartOnIdleResume]
[-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
[-DoNotAllowDemandStart]
[-RequireNetwork]
[-StopIfGoingOffIdle]
[-WakeToRun]
[-ContinueIfGoingOnBattery]
[-StartIfOnBattery]
[-IdleTimeout <TimeSpan>]
[-IdleDuration <TimeSpan>]
[-StartIfIdle]
[<CommonParameters>]
Description
Set-ScheduledJobOptions Cmdlet 會變更排程工作的工作選項。
若要變更排程工作的選項,請先使用 Get-ScheduledJobOption Cmdlet 來取得排程工作的作業選項。 接著,使用管線傳送選項至 Set-ScheduledJobOption,或將選項儲存在變數中並使用 Set-ScheduledJobOption Cmdlet 的 InputObject 參數來指定選項。 使用 Set-ScheduledJobOption 的其他參數來變更工作選項。
若要開啟工作選項,請使用設定該選項的參數。
若要關閉選項,請輸入參數名稱、冒號 (:) 和$False。
例如,若要關閉 RunElevated 選項,請輸入 -RunElevated:$False
。
每個工作選項物件都包含 JobDefinition 屬性 (其中包含排程工作),因此當工作選項變更時,與該排程工作的關聯仍會維持。
排程工作選項決定工作由 [工作排程器] 啟動時的執行方式。 當您使用 Start-Job Cmdlet 啟動排程工作時,這些選項不適用。
Set-ScheduledJobOption 是 PSScheduledJob 模組中其中一個工作排程 Cmdlet 的集合,包含在 Windows PowerShell 中。
如需排程工作的詳細資訊,請參閱 PSScheduledJob 模組中的「關於」主題。
匯入 PSScheduledJob 模組,然後輸入:Get-Help about_Scheduled*
,或參閱 about_Scheduled_Jobs。
此 Cmdlet 是在 Windows PowerShell 3.0 中引進。
範例
範例 1:變更作業選項
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 :
此範例顯示如何變更本機電腦上之排程工作的選項。
第一個命令會使用 Get-ScheduledJobOption Cmdlet 來取得 DeployPackage 排程工作的作業選項。 輸出會顯示 WakeToRun 和 RunElevated 屬性設定為 $False。
此命令並非必要;包含此命令僅為顯示選項變更的效果。
範例 2:變更所有遠端排程工作的選項
PS C:\> Invoke-Command -Computer "Server01" -ScriptBlock {Get-ScheduledJob | Get-ScheduledJobOption | Set-ScheduledJobOption -IdleTimeout 2:00:00}
此命令會將 IdleTimeout 的值從一小時變更 (預設值) 為 Server01 計算機上所有排程工作兩小時。
此命令會使用 Invoke-Command Cmdlet,在 Server01 電腦上執行命令。
遠端命令會以取得電腦上所有排程工作的 Get-ScheduledJob 命令開始。 排程的工作會透過管線傳送至 Get-ScheduledJobOption Cmdlet,以取得排程工作的作業選項。 每個工作選項物件都包含 JobDefinition 屬性 (其中包含排程工作),因此選項物件會維持與排程工作關聯 (即使它已被變更)。
作業觸發程式會透過管線傳送至 Set-ScheduledJobOption Cmdlet,將 IdleTimeout 選項的值變更為兩小時 (2:00:00) 。
參數
-ContinueIfGoingOnBattery
當電腦切換到電池電源 (中斷 AC 電源),若工作正在執行,不要停止排程工作。 根據預設值,當電腦中斷 AC 電源時,排程工作會停止。
ContinueIfGoingOnBattery 參數會將排程工作的 StopIfGoingOnBatteries 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DoNotAllowDemandStart
只有在工作被觸發時才啟動工作。 使用者無法手動啟動工作,例如使用 [工作排程器] 中的 [執行] 功能。
此參數只會影響 [工作排程器]。 它不會防止使用者使用 Start-Job Cmdlet 來啟動作業。
DoNotAllowDemandStart 參數會將排程工作的 DoNotAllowDemandStart 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HideInTaskScheduler
不要在 [工作排程器] 中顯示工作。 此值只會影響工作執行所在電腦。 根據預設值,排程工作會出現在 [工作排程器] 中。
即使工作已隱藏,使用者仍可在 [工作排程器] 中選取 [ 顯示隱藏的任務 檢視] 選項來顯示工作。
HideInTaskScheduler 參數會將排程工作的 ShowInTaskScheduler 屬性值設定為$False。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdleDuration
指定工作啟動前的電腦閒置時間長度。 預設值是 10 分鐘。 若 IdleTimeout 值所指定的時間經過之前,電腦閒置時間未達指定的時間長度,則排程工作不會執行 (直到下次排定的時間,如果有的話)。
輸入時間範圍物件,例如 New-TimeSpan Cmdlet 所產生的物件,或輸入 <小時>:<分鐘>:<秒> 格式的值,自動轉換成 TimeSpan 物件。
若要啟用此值,請使用 StartIfIdle 參數。 根據預設,排程工作的 StartIfNotIdle 屬性會設定為 $True,且 Windows PowerShell 會忽略 IdleDuration 和 IdleTimeout 值。
Type: | TimeSpan |
Position: | Named |
Default value: | 10 minutes |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdleTimeout
指定工作啟動前的電腦閒置時間長度。 預設值是 10 分鐘。 若 IdleTimeout 值所指定的時間經過之前,電腦閒置時間未達指定的時間長度,則排程工作不會執行 (直到下次排定的時間,如果有的話)。
輸入時間範圍物件,例如 New-TimeSpan Cmdlet 所產生的物件,或輸入 <小時>:<分鐘>:<秒> 格式的值,自動轉換成 TimeSpan 物件。
若要啟用此值,請使用 StartIfIdle 參數。 根據預設,排程工作的 StartIfNotIdle 屬性會設定為 $True,且 Windows PowerShell 會忽略 IdleDuration 和 IdleTimeout 值。
Type: | TimeSpan |
Position: | Named |
Default value: | 10 minutes |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定工作選項。 輸入包含 ScheduledJobOptions 物件的變數,或輸入取得 ScheduledJobOptions 物件的命令或表達式,例如 Get-ScheduledJobOption 命令。 您也可以使用管線將 ScheduledJobOptions 物件傳送至 Set-ScheduledJobOption。
Type: | ScheduledJobOptions |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MultipleInstancePolicy
決定當排程工作的某個執行個體已在執行時,系統如何回應啟動該排程工作之另一個執行個體的要求。 此參數可接受的值為:
- IgnoreNew。 將略過新的工作執行個體。 這是預設值。
- Parallel 將立即啟動新的工作執行個體。
- 佇列。 新的工作執行個體會在目前的執行個體完成時立即啟動。
- StopExisting。 將停止目前的工作執行個體,並啟動新的執行個體。
必須符合工作排程的所有條件,工作才會執行。 例如,如果 RequireNetwork、 IdleDuration 和 IdleTimeout 參數所設定的條件不滿足,則不論此參數的值為何,工作實例都不會啟動。
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
傳回代表您正在使用之項目的物件。 根據預設,此 Cmdlet 不會產生任何輸出。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequireNetwork
只有在網路連線可以使用時才執行排程工作。
若指定此參數且網路連線在排定的啟動時間無法使用,該工作不會執行 (直到排定的下次啟動時間,如果有的話)。
RequireNetwork 參數會將排程工作的 RunWithoutNetwork 屬性值設定為$False。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RestartOnIdleResume
當電腦成為閒置時重新啟動排程工作。 此參數搭配 StopIfGoingOffIdle 參數使用,它可以在電腦成為作用中 (離開閒置狀態) 時暫停執行中的排程工作。
RestartOnIdleResume 參數會將排程工作的 RestartOnIdleResume 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunElevated
使用工作執行所在電腦上 Administrators 群組成員的權限執行排程工作。
若要讓排程工作以系統管理員許可權執行,請使用 Register-ScheduledJob 的 Credential 參數來提供作業的明確認證。
RunElevated 參數會將排程工作之 RunElevated 屬性的值設定為 True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartIfIdle
若電腦已閒置 IdleDuration 參數所指定的時間,但 IdleTimeout 參數所指定的時間尚未經過,則啟動排程工作。
根據預設值,系統會略過 IdleDuration 與 IdleTimeout 參數,且工作會在排定的開始時間執行 (即使電腦忙碌中)。
若指定此參數且電腦在排定的開始時間為忙碌中 (非閒置),則工作不會執行 (直到排定的下次開始時間,如果有的話)。
StartIfIdle 參數會將排程工作之 StartIfNotIdle 屬性的值設定為 False。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartIfOnBattery
即使電腦在排定的開始時間是使用電池電力執行,也啟動排程工作。 預設值是 False。
StartIfOnBattery 參數會將排程工作的 StartIfOnBatteries 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StopIfGoingOffIdle
若電腦在工作正在執行時成為作用中 (非閒置),則暫停執行中的排程工作。
根據預設值,當電腦再度進入閒置狀態時,當初在電腦成為作用中時暫停的排程工作會繼續執行。 若要變更此預設行為,請使用 RestartOnIdleResume 參數。
StopIfGoingOffIdle 参數會將排程工作的 StopIfGoingOffIdle 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WakeToRun
在到了排定的開始時間時將電腦從休眠或睡眠狀態喚醒以執行工作。 根據預設值,在到了排定的開始時間時,若電腦處於休眠或睡眠狀態,則工作不會執行。
WakeToRun 參數會將排程工作的 WakeToRun 屬性值設定為$True。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線傳送排程工作選項物件至 Set-ScheduledJobOption。
輸出
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
當您使用 Passthru 參數時,Set-ScheduledJobOption 會傳回已變更的工作選項。 否則,此 Cmdlet 不會產生任何輸出。
相關連結
- 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