次の方法で共有


Set-ScheduledJobOption

スケジュールされたジョブのジョブ オプションを変更します。

構文

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

説明

Set-ScheduledJobOptions コマンドレットは、スケジュールされたジョブのジョブ オプションを変更します。

スケジュールされたジョブのオプションを変更するには、まず Get-ScheduledJobOption コマンドレットを使用して、スケジュールされたジョブのジョブ オプションを取得します。 次に、オプションを Set-ScheduledJobOption にパイプ処理するか、オプションを変数に保存し、Set-ScheduledJobOption コマンドレットの InputObject パラメーターを使用してオプションを識別します。 Set-ScheduledJobOption の残りのパラメーターを使用して、ジョブ オプションを変更します。

ジョブ オプションを有効にするには、そのオプションを設定するパラメーターを使用します。 オプションをオフにするには、パラメータ名、コロン (:)、および$Falseを入力します。 たとえば、 RunElevated オプションをオフにするには、「 -RunElevated:$False」と入力します。

各ジョブ オプション オブジェクトには、スケジュールされたジョブを含む JobDefinition プロパティが含まれているため、ジョブ オプションが変更されると、スケジュールされたジョブとの関連付けが保持されます。

スケジュールされたジョブのオプションにより、タスク スケジューラによって開始されたジョブの実行方法が決まります。 これらのオプションは、Start-Job コマンドレットを使用してスケジュールされたジョブを開始する場合には適用されません。

Set-ScheduledJobOption は、Windows PowerShell に含まれる PSScheduledJob モジュール内のジョブ スケジューリング コマンドレットのコレクションの 1 つです。

スケジュールされたジョブの詳細については、PSScheduledJob モジュールの About トピックを参照してください。 PSScheduledJob モジュールをインポートし、「Get-Help about_Scheduled*」と入力するか、about_Scheduled_Jobsを参照してください。

このコマンドレットは、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 コマンドレットを使用して、スケジュールされた DeployPackage ジョブのジョブ オプションを取得します。 出力は、WakeToRun プロパティと RunElevated プロパティが $False に設定されていることを示しています。

このコマンドは必須ではありません。オプションの変更の結果を表示するためにのみ含まれています。

例 2: すべてのリモート・スケジュール・ジョブのオプションを変更する

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

このコマンドは、 IdleTimeout の値を、Server01 コンピューター上のすべてのスケジュールされたジョブで 1 時間 (既定値) から 2 時間に変更します。

このコマンドでは、Invoke-Command コマンドレットを使用して Server01 コンピューターでコマンドを実行します。

remote コマンドは、コンピューター上のすべてのスケジュールされたジョブを取得する Get-ScheduledJob コマンドで始まります。 スケジュールされたジョブは Get-ScheduledJobOption コマンドレットにパイプ処理され、スケジュールされたジョブのジョブ オプションが取得されます。 各ジョブ オプション オブジェクトには、スケジュールされたジョブを含む JobDefinition プロパティが含まれているため、オプション オブジェクトは、変更された場合でも、スケジュールされたジョブに関連付けられたままになります。

ジョブ トリガーは Set-ScheduledJobOption コマンドレットにパイプ処理され、 IdleTimeout オプションの値が 2 時間 (2:00:00) に変更されます。

パラメーター

-ContinueIfGoingOnBattery

ジョブの実行中にコンピューターがバッテリ電源に切り替わる (AC 電源から切断される) 場合は、スケジュールされたジョブを停止しないでください。 既定では、スケジュールされたジョブは、コンピューターが AC 電源から切断されると停止します。

ContinueIfGoingOnBattery パラメーターは、スケジュールされたジョブの StopIfGoingOnBatteries プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DoNotAllowDemandStart

ジョブがトリガーされたときにのみジョブを開始します。 ユーザーは、タスク スケジューラの実行機能を使用するなどして、ジョブを手動で開始することはできません。

このパラメーターは、タスク スケジューラにのみ影響します。 ユーザーが Start-Job コマンドレットを使用してジョブを開始するのを防ぐことはできません。

DoNotAllowDemandStart パラメーターは、スケジュールされたジョブの DoNotAllowDemandStart プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HideInTaskScheduler

タスク スケジューラにジョブを表示しないでください。 この値は、ジョブが実行されているコンピューターにのみ影響します。 既定では、スケジュールされたタスクはタスク スケジューラに表示されます。

タスクが非表示の場合でも、ユーザーはタスク スケジューラの [非表示タスクの表示] オプション選択してタスクを表示できます。

HideInTaskScheduler パラメーターは、スケジュールされたジョブの ShowInTaskScheduler プロパティの値を $False に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-IdleDuration

ジョブの開始前にコンピューターをアイドル状態にする必要がある期間を指定します。 既定値は 10 分です。 IdleTimeout の値 が期限切れになる前に、指定した期間、コンピューターがアイドル状態でない場合、スケジュールされたジョブは次にスケジュールされた時刻 (ある場合) まで実行されません。

New-TimeSpan コマンドレットによって生成されたオブジェクトなどの timespan オブジェクトを入力するか、TimeSpan オブジェクトに自動的に変換される <hours>:<minutes>:<seconds> 形式で値を入力します。

この値を有効にするには、StartIfIdle パラメーターを使用します。 既定では、スケジュールされたジョブの StartIfNotIdle プロパティは $True に設定され、Windows PowerShell は IdleDurationIdleTimeout の値を無視します。

型:TimeSpan
配置:Named
規定値:10 minutes
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-IdleTimeout

ジョブの開始前にコンピューターをアイドル状態にする必要がある期間を指定します。 既定値は 10 分です。 IdleTimeout の値 が期限切れになる前に、指定した期間、コンピューターがアイドル状態でない場合、スケジュールされたジョブは次にスケジュールされた時刻 (ある場合) まで実行されません。

New-TimeSpan コマンドレットによって生成されたオブジェクトなどの timespan オブジェクトを入力するか、TimeSpan オブジェクトに自動的に変換される <hours>:<minutes>:<seconds> 形式で値を入力します。

この値を有効にするには、StartIfIdle パラメーターを使用します。 既定では、スケジュールされたジョブの StartIfNotIdle プロパティは $True に設定され、Windows PowerShell は IdleDurationIdleTimeout の値を無視します。

型:TimeSpan
配置:Named
規定値:10 minutes
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

ジョブ オプションを指定します。 ScheduledJobOptions オブジェクトを含む変数を入力するか、Get-ScheduledJobOption コマンドなどの ScheduledJobOptions オブジェクトを取得するコマンドまたは式を入力します。 また、ScheduledJobOptions オブジェクトを Set-ScheduledJobOption にパイプ処理することもできます。

型:ScheduledJobOptions
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-MultipleInstancePolicy

ジョブの別のインスタンスの実行中に、スケジュールされたジョブのインスタンスを開始する要求にシステムが応答する方法を決定します。 このパラメーターに使用できる値は次のとおりです。

  • IgnoreNewです。 新しいジョブ・インスタンスは無視されます。 これが既定値です。
  • 並列。 新しいジョブ・インスタンスが即時に開始されます。
  • 列。 新しいジョブ・インスタンスは、現行のインスタンスが完了するとすぐに開始されます。
  • StopExistingです。 ジョブの現在のインスタンスが停止し、新しいインスタンスが開始されます。

ジョブを実行するには、ジョブ スケジュールのすべての条件が満たされている必要があります。 たとえば、RequireNetworkIdleDuration、および IdleTimeout パラメーターによって設定された条件が満たされていない場合、このパラメーターの値に関係なく、ジョブ インスタンスは開始されません。

型:TaskMultipleInstancePolicy
指定可能な値:None, IgnoreNew, Parallel, Queue, StopExisting
配置:Named
規定値:IgnoreNew
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PassThru

作業中のアイテムを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RequireNetwork

ネットワーク接続が使用可能な場合にのみ、スケジュールされたジョブを実行します。

このパラメーターを指定し、スケジュールされた開始時刻にネットワークを使用できない場合、ジョブは次のスケジュールされた開始時刻 (ある場合) まで実行されません。

RequireNetwork パラメーターは、スケジュールされたジョブの RunWithoutNetwork プロパティの値を $False に設定します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RestartOnIdleResume

コンピューターがアイドル状態になったときに、スケジュールされたジョブを再起動します。 このパラメーターは、StopIfGoingOffIdle パラメーターで動作します。このパラメーターは、コンピューターがアクティブになった場合 (アイドル状態を離れる) 場合に、実行中のスケジュールされたジョブを中断します。

RestartOnIdleResume パラメーターは、スケジュールされたジョブの RestartOnIdleResume プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RunElevated

ジョブを実行するコンピューター上の Administrators グループのメンバーのアクセス許可を持つスケジュールされたジョブを実行します。

スケジュールされたジョブを管理者のアクセス許可で実行するには、Register-ScheduledJob の Credential パラメーターを使用して、ジョブの明示的な資格情報を指定します。

RunElevated パラメーターは、スケジュールされたジョブの RunElevated プロパティの値を True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StartIfIdle

IdleTimeout パラメーターで指定された時間が経過する前に、IdleDuration パラメーターで指定された時間、コンピューターがアイドル状態であった場合に、スケジュールされたジョブを開始します。

既定では、IdleDurationIdleTimeout パラメーターは無視され、コンピューターがビジー状態であっても、スケジュールされた開始時刻にジョブが開始されます。

このパラメーターを指定し、スケジュールされた開始時刻にコンピューターがビジー状態 (アイドル状態ではない) 場合、ジョブは次のスケジュールされた開始時刻 (ある場合) まで実行されません。

StartIfIdle パラメーターは、スケジュールされたジョブの StartIfNotIdle プロパティの値を False に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StartIfOnBattery

スケジュールされた開始時刻にコンピューターがバッテリで実行されている場合でも、スケジュールされたジョブを開始します。 既定値は False です。

StartIfOnBattery パラメーターは、スケジュールされたジョブの StartIfOnBatteries プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StopIfGoingOffIdle

ジョブの実行中にコンピューターがアクティブ (アイドル状態ではない) になった場合に、実行中のスケジュールされたジョブを中断します。

既定では、コンピューターがアクティブになったときに中断されるスケジュールされたジョブは、コンピューターが再びアイドル状態になると再開されます。 この既定の動作を変更するには、RestartOnIdleResume パラメーターを使用します。

StopIfGoingOffIdle パラメーターは、スケジュールされたジョブの StopIfGoingOffIdle プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WakeToRun

スケジュールされた開始時刻に休止状態またはスリープ状態からコンピューターをウェイク アップして、ジョブを実行できるようにします。 既定では、スケジュールされた開始時刻にコンピューターが休止状態またはスリープ状態になっている場合、ジョブは実行されません。

WakeToRun パラメーターは、スケジュールされたジョブの WakeToRun プロパティの値を $True に設定します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

ScheduledJobOptions

スケジュールされたジョブ オプション オブジェクトを Set-ScheduledJobOption にパイプ処理できます。

出力

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Passthru パラメーターを使用すると、Set-ScheduledJobOption は変更されたジョブ オプションを返します。 それ以外の場合、このコマンドレットは出力を生成しません。