次の方法で共有


Enable-ScheduledJob

スケジュールされたジョブを有効にします。

構文

Enable-ScheduledJob
      [-InputObject] <ScheduledJobDefinition>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-ScheduledJob
      [-Id] <Int32>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-ScheduledJob
      [-Name] <String>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

Enable-ScheduledJob コマンドレットは、Disable-ScheduledJob コマンドレットを使用して無効にされたジョブなど、無効になっているスケジュールされたジョブを再度有効にします。 有効にされたジョブは、トリガーされると、自動的に実行されます。

スケジュールされたジョブを有効にするには、 Enable-ScheduledJob コマンドレットによって、スケジュールされたジョブの Enabled プロパティが $trueに設定されます。

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

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

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: スケジュールされたジョブを有効にする

この例では、ローカル コンピューターでスケジュールされたジョブを有効にします。

Enable-ScheduledJob -ID 2 -PassThru

Enable-ScheduledJob コマンドは、ローカル コンピューターで ID 2 のスケジュールされたジョブを有効にします。 PassThru パラメーターを使用すると、Job オブジェクトを出力できます。

例 2: スケジュールされたすべてのジョブを有効にする

この例では、ローカル コンピューター上のすべてのスケジュールされたジョブを有効にします。

Get-ScheduledJob | Enable-ScheduledJob

Get-ScheduledJob コマンドレットは、スケジュールされたすべてのジョブを取得し、それらを有効にするためにコマンドレットEnable-ScheduledJobパイプします。

Enable-ScheduledJob は、既に有効になっているスケジュールされたジョブを有効にした場合、警告やエラーを生成しないため、条件なしですべてのスケジュールされたジョブを有効にすることができます。

例 3: 選択したスケジュールされたジョブを有効にする

この例では、ネットワーク接続を必要としないスケジュールされたジョブを有効にします。

Get-ScheduledJob | Get-ScheduledJobOption | Where-Object {$_.RunWithoutNetwork} |
    ForEach-Object {Enable-ScheduledJob -InputObject $_.JobDefinition}

このコマンドでは、 Get-ScheduledJob コマンドレットを使用して、コンピューター上のすべてのスケジュールされたジョブを取得します。 パイプライン演算子 (|) は、スケジュールされたジョブを Get-ScheduledJobOption コマンドレットに送信し、スケジュールされた各ジョブのジョブ オプションを取得します。 各ジョブ オプション オブジェクトには、関連付けられているスケジュールされたジョブを含む JobDefinition プロパティがあります。 JobDefinition プロパティは、コマンドを完了するために使用されます。

このコマンドでは、パイプライン演算子 (|) を使用してジョブ オプションを Where-Object コマンドレットに送信します。このコマンドレットでは、 RunWithoutNetwork プロパティの値が $trueのスケジュールされたジョブ オプション オブジェクトが選択されます。 別のパイプライン演算子は、選択したスケジュールされたジョブ オプション オブジェクトをForEach-Object コマンドレットに送信します。このコマンドレットでは、各ジョブ オプション オブジェクトの JobDefinition プロパティの値で、スケジュールされたジョブに対してEnable-ScheduledJob コマンドを実行します。

例 4: リモート コンピューターでスケジュールされたジョブを有効にする

Invoke-Command -ComputerName "Srv01,Srv10" -ScriptBlock {Enable-ScheduledJob -Name "Inventory"}

このコマンドは、Srv01 と Srv10 の 2 台のリモート コンピューター上の名前に "test" が含まれているスケジュールされたジョブを有効にします。

このコマンドでは、 Invoke-Command コマンドレットを使用して、Srv01 コンピューターと Srv10 コンピューターで Enable-ScheduledJob コマンドを実行します。 このコマンドでは、Enable-ScheduledJobName パラメーターを使用して、各コンピューターでスケジュールされたインベントリ ジョブを有効にします。

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

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

-Id

指定された識別番号 (ID) のスケジュールされたジョブを有効にします。 スケジュールされたジョブの ID を入力します。

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

-InputObject

有効にするスケジュールされたジョブを指定します。 ScheduledJobDefinition オブジェクトを含む変数を入力するか、Get-ScheduledJob コマンドなどのScheduledJobDefinition オブジェクトを取得するコマンドまたは式を入力します。 ScheduledJobDefinition オブジェクトをパイプ処理してEnable-ScheduledJobすることもできます。

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

-Name

指定された名前のスケジュールされたジョブを有効にします。 スケジュールされたジョブの名前を入力します。 ワイルドカードを利用できます。

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

-PassThru

作業中の項目を表すオブジェクトを返します。 既定では、このコマンドレットによる出力はありません。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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

入力

ScheduledJobDefinition

スケジュールされたジョブをパイプ処理して Enable-ScheduledJobできます。

出力

None

既定では、このコマンドレットは出力を返しません。

ScheduledJobDefinition

PassThru パラメーターを使用すると、このコマンドレットは有効にしたスケジュールされたジョブを返します。

メモ

  • Enable-ScheduledJob は、既に有効になっているスケジュールされたジョブを有効にするために警告やエラーを生成しません。