Share via


Disable-JobTrigger

スケジュールされたジョブのジョブ トリガーを無効にします。

構文

Disable-JobTrigger
       [-InputObject] <ScheduledJobTrigger[]>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

説明

Disable-JobTrigger コマンドレットは、スケジュールされたジョブのジョブ トリガーを一時的に無効にします。 無効にしても、ジョブ トリガーのプロパティはすべて保持されますが、スケジュールされたジョブがジョブ トリガーによって開始されることはありません。

このコマンドレットを使用するには、Get-JobTrigger コマンドレットを使用してジョブ トリガーを取得します。 次に、パイプを使用してジョブ トリガーを Disable-JobTrigger に渡すか、InputObject パラメーターを使用します。

ジョブ トリガーを無効にするには、 Disable-JobTrigger コマンドレットによって、ジョブ トリガーの Enabled プロパティが$Falseに設定されます。 ジョブ トリガーを再度有効にするには、ジョブ トリガーの Enabled プロパティを$Trueに設定する Enable-JobTrigger コマンドレットを使用します。 ジョブ トリガーを無効にしても、スケジュールされたジョブは無効になりません。たとえば、Disable-ScheduledJob コマンドレットによって実行されますが、すべてのジョブ トリガーを無効にすると、スケジュールされたジョブを無効にした場合と同じ効果が得られます。

スケジュールされたジョブを無効にするか、スケジュールされたジョブのすべてのジョブ トリガーを無効にした場合でも、Start-Job コマンドレットを使用してジョブを開始するか、無効にされたスケジュールされたジョブをテンプレートとして使用できます。

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

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

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

例 1: ジョブ トリガーを無効にする

PS C:\> Get-JobTrigger -Name "Backup-Archives" -TriggerID 1 | Disable-JobTrigger

このコマンドは、ローカル コンピューター上のスケジュールされたジョブ Backup-Archives の最初のトリガー (ID=1) を無効にします。

コマンドは、Get-JobTrigger コマンドレットを使用してジョブ トリガーを取得します。 パイプライン演算子により、ジョブ トリガーを Disable-JobTrigger コマンドレットに渡して、無効にします。

例 2: すべてのジョブ トリガーを無効にする

The first command uses the Get-ScheduledJob cmdlet to get the Backup-Archives and Inventory scheduled jobs. A pipeline operator (|) sends the scheduled jobs to the Get-JobTrigger cmdlet, which gets all job triggers of the scheduled jobs. Another pipeline operator sends the job triggers to the **Disable-JobTrigger** cmdlet, which disables them.The first command uses the **Get-ScheduledJob** cmdlet to get the jobs, because its *Name* parameter takes multiple names.
PS C:\> Get-ScheduledJob -Name "Backup-Archives,Inventory" | Get-JobTrigger | Disable-JobTrigger

The second command displays the results. The command repeats the **Get-ScheduledJob** and **Get-JobTrigger** command. A pipeline operator sends the job triggers to the Format-Table cmdlet, which displays the job triggers in a table. The **Format-Table** command adds a JobName property that displays the value of the Name property of the scheduled job in the JobDefinition property of the job trigger object.
PS C:\> Get-ScheduledJob -Name "Backup-Archives,Inventory" | Get-JobTrigger | Format-Table -Property ID, Frequency, At, DaysOfWeek, Enabled, @{Label="JobName";Expression={$_.JobDefinition.Name}} -AutoSize
Id Frequency At                     DaysOfWeek Enabled JobName
-- --------- --                     ---------- ------- -------
1  Weekly    9/28/2011 3:00:00 AM   {Monday}   False   Backup-Archive
2  Daily     9/29/2011 1:00:00 AM              False   Backup-Archive
1  Weekly    10/20/2011 11:00:00 PM {Friday}   False   Inventory
1  Weekly    11/2/2011 2:00:00 PM   {Monday}   False   Inventory

これらのコマンドは、スケジュールされた 2 つのジョブのすべてのジョブ トリガーを無効にし、結果を表示します。

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

PS C:\> Invoke-Command -ComputerName Server01 {Get-JobTrigger -Name DeployPackage | Where-Object {$_.Frequency -eq "Daily"} | Disable-JobTrigger}

このコマンドは、Server01 リモート コンピューター上のスケジュールされたジョブ DeployPackage の日単位のジョブ トリガーを無効にします。

コマンドは、Invoke-Command コマンドレットを使用して Server01 コンピューターでコマンドを実行します。 リモート コマンドは、Get-JobTrigger コマンドレットを使用して、DeployPackage のスケジュールされたジョブのジョブ トリガーを取得します。 パイプライン演算子は、ジョブ トリガーを Where-Object コマンドレットに送信します。このコマンドレットは、毎日のジョブ トリガーのみを返します。 パイプライン演算子は、毎日のジョブ トリガーを Disable-JobTrigger コマンドレットに送信し、これを無効にします。

パラメーター

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

無効にするジョブ トリガーを指定します。 ScheduledJobTrigger オブジェクトを含む変数を入力するか、ScheduledJobTrigger オブジェクトを取得するコマンドまたは式 (Get-JobTrigger コマンドなど) を入力します。 ScheduledJobTrigger オブジェクトを Disable-JobTrigger にパイプすることもできます。

Type:ScheduledJobTrigger[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

ScheduledJobTrigger

パイプを使用してジョブ トリガーを Disable-JobTrigger に渡すことができます。

出力

None

このコマンドレットは出力を生成しません。

メモ

  • 既に無効になっているジョブ トリガーを無効にした場合、Disable-JobTrigger はエラーや警告を生成しません。