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 の
例 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 オブジェクト
型: | 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 |
入力
スケジュールされたジョブをパイプ処理して、Disable-ScheduledJobを
出力
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
メモ
- Disable-ScheduledJob を使用して、既に無効になっているスケジュールされたジョブを無効にした場合、警告やエラーは生成されません。
関連リンク
- スケジュール済みジョブについて
- 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