New-ScheduledJobOption
スケジュールされたジョブの詳細オプションを格納するオブジェクトを作成します。
構文
New-ScheduledJobOption
[-RunElevated]
[-HideInTaskScheduler]
[-RestartOnIdleResume]
[-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
[-DoNotAllowDemandStart]
[-RequireNetwork]
[-StopIfGoingOffIdle]
[-WakeToRun]
[-ContinueIfGoingOnBattery]
[-StartIfOnBattery]
[-IdleTimeout <TimeSpan>]
[-IdleDuration <TimeSpan>]
[-StartIfIdle]
[<CommonParameters>]
説明
New-ScheduledJobOption
コマンドレットは、スケジュールされたジョブの詳細オプションを含むオブジェクトを作成します。
New-ScheduledJobOption
が返す ScheduledJobOptions オブジェクトを使用して、新規または既存のスケジュールされたジョブのジョブ オプションを設定できます。 または、 Get-ScheduledJobOption
コマンドレットを使用して、既存のスケジュールされたジョブのジョブ オプションを取得するか、ハッシュ テーブル値を使用してジョブ オプションを表すことによって、ジョブ オプションを設定することもできます。
パラメーターがない場合、 New-ScheduledJobOption
は、すべてのオプションの既定値を含むオブジェクトを生成します。 JobDefinition プロパティを除くすべてのプロパティを編集できるため、結果のオブジェクトをテンプレートとして使用し、エンタープライズの標準オプション オブジェクトを作成できます。
スケジュールされたジョブを作成し、スケジュールされたジョブのオプションを設定する際は、スケジュールされたジョブのすべてのオプションの既定値を確認してください。 スケジュールされたジョブは、設定されている実行条件をすべて満たした場合にのみ実行されます。
New-ScheduledJobOption
は、Windows PowerShell に含まれる PSScheduledJob モジュールのジョブ スケジューリング コマンドレットのコレクションの 1 つです。
スケジュールされたジョブの詳細については、PSScheduledJob モジュールの概要トピックを参照してください。 PSScheduledJob モジュールをインポートし、「 Get-Help about_Scheduled*
」と入力するか、 about_Scheduled_Jobsを参照してください。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: 既定値を使用してスケジュールされたジョブ オプション オブジェクトを作成する
この例では、既定値を使用してスケジュールされたジョブ オプション オブジェクトを作成します。
New-ScheduledJobOption
例 2: カスタム値を使用してスケジュールされたジョブ オプション オブジェクトを作成する
この例では、カスタム値を使用してスケジュールされたジョブ オプション オブジェクトを作成します。
New-ScheduledJobOption -RequireNetwork -StartIfOnBattery
StartIfOnBatteries : True
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 : Ignore
NewJobDefinition :
次のコマンドは、ネットワークを必要とし、コンピューターが AC 電源に接続されていない場合でもスケジュールされたジョブを実行するスケジュールされたジョブのオブジェクトを作成します。
出力は、 RequireNetwork パラメーターが RunWithoutNetwork プロパティの値を $false
に変更し、 StartIfOnBattery パラメーターが StartIfOnBatteries プロパティの値を $true
に変更したことを示しています。
例 3: 新しいスケジュールされたジョブのオプションを設定する
この例では、New-ScheduledJobOption
が返す ScheduledJobOptions オブジェクトを使用して、新しいスケジュールされたジョブのオプションを設定する方法を示します。
$runAsAdmin = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
Get-ScheduledJobOption -Name Backup
StartIfOnBatteries : False
StopIfGoingOnBatteries : True
WakeToRun : False
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : True
RunWithoutNetwork : True
DoNotAllowDemandStart : False
MultipleInstancePolicy : IgnoreNew
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
最初のコマンドは、RunElevated パラメーターを使用してScheduledJobOptions オブジェクトを作成します。 $runAsAdmin
変数にオブジェクトを保存します。
2 番目のコマンドでは、 Register-ScheduledJob
コマンドレットを使用して、新しいスケジュールされたジョブを作成します。 ScheduledJobOption パラメーターの値は、$runAsAdmin
変数の値のオプション オブジェクトです。
3 番目のコマンドでは、 Get-ScheduledJobOption
コマンドレットを使用して、スケジュールされたバックアップ ジョブのジョブ オプションを取得します。コマンドレットの出力は、 RunElevated プロパティが $true
に設定され、ジョブ オプション オブジェクトの JobDefinition プロパティに、スケジュールされたバックアップ ジョブのスケジュールされたジョブ オブジェクトが設定されたことを示しています。
例 4: スケジュールされたジョブ・オプション・オブジェクトのプロパティーをソートする
この例では、読みやすくするために、 ScheduledJobOptions オブジェクトのプロパティをアルファベット順に並べ替える方法を示します。
$options = New-ScheduledJobOption -WakeToRun
$options.PSObject.Properties | Sort-Object -Property Name | Format-Table -Property Name, Value -Autosize
Name Value
---- -----
DoNotAllowDemandStart False
IdleDuration 00:10:00
IdleTimeout 01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume False
RunElevated False
RunWithoutNetwork True
ShowInTaskScheduler True
StartIfNotIdle True
StartIfOnBatteries False
StopIfGoingOffIdle False
StopIfGoingOnBatteries True
WakeToRun True
最初のコマンドでは、 New-ScheduledJobOption
コマンドレットを使用して、 ScheduledJobOptions オブジェクトを作成します。 このコマンドでは、 WakeToRun パラメーターを使用し、結果のオブジェクトを $options
変数に保存します。
$Optionsのプロパティをオブジェクトとして取得するために、2 番目のコマンドでは、すべての Windows PowerShell オブジェクトとその Properties プロパティの PSObject プロパティを使用します。 次に、プロパティ オブジェクトをパイプ処理して、プロパティを名前でアルファベット順に並べ替える Sort-Object
コマンドレットに、次にテーブル内のプロパティの名前と値を表示する Format-Table
コマンドレットにパイプします。
この形式を使用すると、$options
で ScheduledJobOptions オブジェクトの WakeToRun プロパティを見つけ、その値が $false
から $true
に変更されたことを確認しやすくなります。
パラメーター
-ContinueIfGoingOnBattery
ジョブの実行中に、コンピューターがバッテリ電源に切り替わっても (AC 電源から切断されても)、スケジュールされたジョブを停止しません。 既定では、コンピューターが AC 電源から切断されると、スケジュールされたジョブは停止します。
ContinueIfGoingOnBattery パラメーターは、スケジュールされたジョブの StopIfGoingOnBatteries プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DoNotAllowDemandStart
トリガーされた場合にのみ、ジョブを開始します。 ユーザーは、タスク スケジューラの実行機能などを使用して、手動でジョブを開始することはできません。
このパラメーターは、タスク スケジューラにのみ影響します。 ユーザーが Start-Job
コマンドレットを使用してジョブを開始することを防ぐことはありません。
DoNotAllowDemandStart パラメーターは、スケジュールされたジョブの DoNotAllowDemandStart プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-HideInTaskScheduler
タスク スケジューラにジョブを表示しません。 この値は、ジョブが実行されるコンピューターにのみ影響します。 既定では、スケジュールされたタスクはタスク スケジューラに表示されます。
タスクが非表示の場合でも、ユーザーはタスク スケジューラの [非表示のタスク ビューの表示] オプションを選択してタスクを表示できます。
HideInTaskScheduler パラメーターは、スケジュールされたジョブの ShowInTaskScheduler プロパティの値を$false
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-IdleDuration
コンピューターのアイドル状態がどれだけ続いたらジョブを開始するかを指定します。 既定値は 10 分です。 IdleTimeoutの値が期限切れになる前に、指定した期間、コンピューターがアイドル状態でない場合、スケジュールされたジョブは次にスケジュールされた時刻 (ある場合) まで実行されません。
TimeSpan オブジェクト (New-TimeSpan
コマンドレットによって生成されたものなど) を入力するか、<hours>:<minutes>:<seconds> 形式で値を入力TimeSpan オブジェクトに自動的に変換されます。
この値を有効にするには、 StartIfIdle パラメーターを使用します。 既定では、スケジュールされたジョブの StartIfNotIdle プロパティは $true
に設定され、Windows PowerShell は IdleDuration と IdleTimeout の値を無視します。
型: | TimeSpan |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-IdleTimeout
コンピューターがアイドル状態になるまでのスケジュールされたジョブの待機時間を指定します。 IdleDuration パラメーターで指定された期間、コンピューターがアイドル状態になる前にこのタイムアウトが経過した場合、ジョブは次回スケジュールされた時刻 (ある場合) まで実行されません。 既定値は 1 時間です。
TimeSpan オブジェクト (New-TimeSpan
コマンドレットによって生成されたものなど) を入力するか、<hours>:<minutes>:<seconds> 形式で値を入力TimeSpan オブジェクトに自動的に変換されます。
この値を有効にするには、 StartIfIdle パラメーターを使用します。 既定では、スケジュールされたジョブの StartIfNotIdle プロパティは $true
に設定され、Windows PowerShell は IdleDuration および IdleTimeout 値を無視します。
型: | TimeSpan |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MultipleInstancePolicy
スケジュールされたジョブのインスタンスの実行中にそのジョブの別のインスタンスを開始する要求に対するシステムの応答方法を決定します。 既定値は IgnoreNew
です。 このパラメーターの有効値は、次のとおりです。
IgnoreNew
- 新しいジョブ インスタンスは無視されます。Parallel
- 新しいジョブ インスタンスが直ちに開始されます。Queue
- 新しいジョブ インスタンスは、現在のインスタンスが完了するとすぐに開始されます。StopExisting
- ジョブの現在のインスタンスが停止し、新しいインスタンスが開始されます。
ジョブを実行するには、ジョブ スケジュールのすべての条件を満たす必要があります。 たとえば、 RequireNetwork、 IdleDuration、および IdleTimeout パラメーターによって設定された条件が満たされていない場合、このパラメーターの値に関係なく、ジョブ インスタンスは開始されません。
型: | TaskMultipleInstancePolicy |
指定可能な値: | None, IgnoreNew, Parallel, Queue, StopExisting |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RequireNetwork
ネットワーク接続が利用可能な場合にのみ、スケジュールされたジョブを実行します。
このパラメーターを指定し、スケジュールされた開始時刻にネットワークが利用できない場合は、(次のスケジュールされた開始時刻が設定されていれば、それまで) ジョブは実行されません。
RequireNetwork パラメーターは、スケジュールされたジョブの RunWithoutNetwork プロパティの値を$false
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RestartOnIdleResume
コンピューターがアイドル状態になると、スケジュールされたジョブを再開します。 このパラメーターは、 StopIfGoingOffIdle パラメーターで動作します。このパラメーターは、コンピューターがアクティブになった場合 (アイドル状態を離れる) 場合に、実行中のスケジュールされたジョブを中断します。
RestartOnIdleResume パラメーターは、スケジュールされたジョブの RestartOnIdleResume プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RunElevated
ジョブが実行されるコンピューター上の Administrators グループのメンバーのアクセス許可で、スケジュールされたジョブを実行します。
スケジュールされたジョブを管理者のアクセス許可で実行できるようにするには、Register-ScheduledJob
の Credential パラメーターを使用して、ジョブの明示的な資格情報を指定します。
RunElevated パラメーターは、スケジュールされたジョブの RunElevated プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StartIfIdle
IdleTimeout パラメーターで指定された時間が経過する前に、IdleDuration パラメーターで指定された時間、コンピューターがアイドル状態であった場合に、スケジュールされたジョブを開始します。
既定では、 IdleDuration パラメーターと IdleTimeout パラメーターは無視され、コンピューターがビジー状態であっても、スケジュールされた開始時刻にジョブが開始されます。
このパラメーターを指定し、スケジュールされた開始時刻にコンピューターがビジー状態の場合 (アイドル状態でない場合) は、(次のスケジュールされた開始時刻が設定されていれば、それまで) ジョブは実行されません。
StartIfIdle パラメーターは、スケジュールされたジョブの StartIfNotIdle プロパティの値を$false
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StartIfOnBattery
スケジュールされた開始時刻にコンピューターがバッテリで動作していても、スケジュールされたジョブを開始します。
既定値は $false
です。
StartIfOnBattery パラメーターは、スケジュールされたジョブの StartIfOnBatteries プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StopIfGoingOffIdle
ジョブの実行中に、コンピューターがアクティブになる (アイドル状態でなくなる) と、実行中のスケジュールされたジョブを中断します。
既定では、コンピューターがアクティブになったときに中断されたスケジュールされたジョブは、コンピューターが再びアイドル状態になると再開されます。 この既定の動作を変更するには、 RestartOnIdleResume パラメーターを使用します。
StopIfGoingOffIdle パラメーターは、スケジュールされたジョブの StopIfGoingOffIdle プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WakeToRun
スケジュールされた開始時刻にコンピューターの休止状態またはスリープ状態を解除して、ジョブを実行できるようにします。 既定では、スケジュールされた開始時刻にコンピューターが休止状態またはスリープ状態の場合、ジョブは実行されません。
WakeToRun パラメーターは、スケジュールされたジョブの WakeToRun プロパティの値を$true
に設定します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、作成されたオプションを表す ScheduledJobOptions オブジェクトを返します。
メモ
Register-ScheduledJob
コマンドレットの ScheduledJobOption パラメーターの値として作成New-ScheduledJobOption
ScheduledJobOptions オブジェクトを使用できます。 ただし、 ScheduledJobOption パラメーターは、 ScheduledJobOptions オブジェクトのプロパティとその値を指定するハッシュ テーブル値を受け取ることもできます。@{ShowInTaskScheduler=$False; RunElevated=$True; IdleDuration="00:05"}
関連リンク
- 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
PowerShell