次の方法で共有


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 モジュールの About トピックを参照してください。 PSScheduledJob モジュールをインポートし、「Get-Help about_Scheduled*」と入力するか、about_Scheduled_Jobsを参照してください。

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

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

PS C:\> Enable-ScheduledJob -ID 2 -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    True

このコマンドは、ローカル コンピューターで ID 2 のスケジュールされたジョブを有効にします。 出力には、コマンドの効果が表示されます。

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

PS C:\> Get-ScheduledJob | Enable-ScheduledJob -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProje... {}              C:\Scripts\Archive-DxProjects.ps1        True
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    True
4          Test-HelpFiles  {1}             .\Test-HelpFiles.ps1                     True
5          TestJob         {1, 2}          .\Run-AllTests.ps1                       True

このコマンドを実行すると、ローカル コンピューター上のすべてのスケジュールされたジョブが有効になります。 Get-ScheduledJob コマンドレットを使用して、スケジュールされたすべてのジョブを取得し、Enable-ScheduledJob コマンドレットを使用してジョブを有効にします。

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

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

PS C:\> Get-ScheduledJob | Get-ScheduledJobOption | Where-Object {$_.RunWithoutNetwork} | ForEach-Object {Enable-ScheduledJob -InputObject $_.JobDefinition}

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

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

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

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

PS C:\> Invoke-Command -ComputerName "Srv01,Srv10" -ScriptBlock {Enable-ScheduledJob -Name "Inventory"}

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

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

パラメーター

-Confirm

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

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

-Id

指定した 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
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

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

入力

ScheduledJobDefinition

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

出力

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Passthru パラメーターを使用すると、Enable-ScheduledJob は、有効にされたスケジュールされたジョブを返します。 それ以外の場合、このコマンドレットは出力を生成しません。

メモ

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