次の方法で共有


Disable-ScheduledJob

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

構文

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

説明

Disable-ScheduledJob コマンドレットは、スケジュールされたジョブを一時的に無効にします。 無効にすると、すべてのジョブ プロパティが保持され、ジョブ トリガーは無効になりませんが、スケジュールされたジョブがトリガーされたときに自動的に開始されなくなります。 Start-Job コマンドレットを使用して、無効なスケジュールされたジョブを開始するか、無効にされたスケジュールされたジョブをテンプレートとして使用できます。

スケジュールされたジョブを無効にするには、Disable-ScheduledJob コマンドレットを使用して、スケジュールされたジョブの Enabled プロパティを False ($false) に設定します。 スケジュールされたジョブを再度有効にするには、Enable-ScheduledJob コマンドレットを使用します。

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

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

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

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

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

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

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

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

このコマンドは、ローカル コンピューター上のすべてのスケジュールされたジョブを無効にします。 Get-ScheduledJob コマンドレットを使用して、スケジュールされたすべてのジョブを取得し、Disable-ScheduledJob コマンドレットを使用してそれらを無効にします。

Enable-ScheduledJob コマンドレットを使用してスケジュールされたジョブを再度有効にし、Start-Job コマンドレットを使用して無効にされたスケジュールされたジョブを実行できます。

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

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

PS C:\> Get-ScheduledJob | Where-Object {!$_.Credential} | Disable-ScheduledJob

このコマンドは、スケジュールされたジョブに資格情報が含まれていないことを無効にします。 資格情報のないジョブは、作成したユーザーのアクセス許可を使用して実行されます。

このコマンドでは、Get-ScheduledJob コマンドレットを使用して、コンピューター上のすべてのスケジュールされたジョブを取得します。 パイプライン オペレーターは、スケジュールされたジョブを Where-Object コマンドレットに送信し、資格情報を持たないスケジュールされたジョブを選択します。 このコマンドは not (!) 演算子を使用し、スケジュールされたジョブの Credential プロパティを参照します。 別のパイプライン オペレーターは、選択したスケジュールされたジョブを無効にする Disable-ScheduledJob コマンドレットに送信します。

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

PS C:\> Invoke-Command -ComputerName Srv01, Srv10 -ScriptBlock {Disable-ScheduledJob -Name TestJob}

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

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

例 5: スケジュールされたジョブをグローバル ID で無効にする

The first command demonstrates one way of finding the GlobalID of a scheduled job. The command uses the Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Format-Table cmdlet, which displays the Name, GlobalID, and Command properties of each job in a table.
PS C:\> Get-ScheduledJob | Format-Table -Property Name, GlobalID, Command -Autosize
Name             GlobalId                             Command
----             --------                             -------
ArchiveProjects1 a26a0b3d-b4e6-44d3-8b95-8706ef621f7c C:\Scripts\Archive-DxProjects.ps1
Inventory        3ac37e5d-84c0-4a8f-9661-7e88ebb8f914 \\Srv01\Scripts\Get-FullInventory.ps1
Backup-Scripts   4d0cc6be-c082-48d1-baec-1bd8278f3c81  Copy-Item C:\CurrentScripts\*.ps1 -Destination C:\BackupScripts
Test-HelpFiles   d77020ca-f20d-42be-86c8-fc64df97db90 .\Test-HelpFiles.ps1
Test-HelpFiles   2f1606d2-c6cf-4bef-8b1c-ae36a9cc9934 .\Test-DomainHelpFiles.ps1

The second command uses the  Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Where-Object cmdlet, which selects the scheduled job with the specified global ID. Another pipeline operator sends the job to the **Disable-ScheduledJob** cmdlet, which disables it.
PS C:\> Get-ScheduledJob | Where-Object {$_.GlobalID = d77020ca-f20d-42be-86c8-fc64df97db90} | Disable-ScheduledJob

この例では、グローバル識別子を使用してスケジュールされたジョブを無効にする方法を示します。 スケジュールされたジョブの GlobalID プロパティの値は、一意識別子 (GUID) です。 複数のコンピューターでスケジュールされたジョブを無効にする場合など、有効桁数が必要な場合は、GlobalID 値を使用します。

パラメーター

-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 オブジェクトをパイプ処理して、Disable-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

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

出力

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

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

メモ

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