Get-JobTrigger
スケジュールされたジョブのジョブ トリガーを取得します。
構文
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-InputObject] <ScheduledJobDefinition>
[<CommonParameters>]
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-Name] <String>
[<CommonParameters>]
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-Id] <Int32>
[<CommonParameters>]
説明
Get-JobTrigger コマンドレットは、スケジュールされたジョブのジョブ トリガーを取得します。 このコマンドを使用して、ジョブ トリガーを調べたり、ジョブ トリガーを他のコマンドレットにパイプしたりできます。
ジョブ トリガーは、スケジュールされたジョブを開始するための定期的なスケジュールまたは条件を定義します。 ジョブ トリガーは個別にディスクに保存されません。これらはスケジュールされたジョブの一部です。 ジョブ トリガーを取得するには、トリガーが開始するスケジュールされたジョブを指定します。
Get-JobTrigger コマンドレットのパラメーターを使用して、スケジュールされたジョブを識別します。 スケジュールされたジョブは、名前または識別番号で識別するか、Get-ScheduledJob コマンドレットによって返されるオブジェクトなどの ScheduledJob オブジェクトを Get-JobTrigger に入力またはパイプ処理することで識別できます。
Get-JobTrigger は、Windows PowerShell に含まれている PSScheduledJob モジュール内のジョブ スケジューリング コマンドレットのコレクションの 1 つです。
スケジュールされたジョブの詳細については、PSScheduledJob モジュールの About トピックを参照してください。
PSScheduledJob モジュールをインポートし、「Get-Help about_Scheduled*
」と入力するか、about_Scheduled_Jobsを参照してください。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: スケジュールされたジョブ名でジョブ トリガーを取得する
PS C:\> Get-JobTrigger -Name "BackupJob"
このコマンドでは、Get-JobTrigger の Name パラメーターを使用して、スケジュールされたジョブの BackupJob ジョブ トリガーを取得します。
例 2: ID でジョブ トリガーを取得する
The first command uses the Get-ScheduledJob cmdlet to display the scheduled jobs on the local computer. The display includes the IDs of the scheduled jobs.
PS C:\> Get-ScheduledJob
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 ArchiveProjects {1} \\Server\Share\Archive-Projects.ps1 True
2 Backup {1,2} \\Server\Share\Run-Backup.ps1 True
3 Test-HelpFiles {1} \\Server\Share\Test-HelpFiles.ps1 True
4 TestJob {} \\Server\Share\Run-AllTests.ps1 True
The second command uses the **Get-JobTrigger** cmdlet to get the job trigger for the Test-HelpFiles job (ID = 3)
PS C:\> Get-JobTrigger -ID 3
この例では、Get-JobTrigger の ID パラメーターを使用して、スケジュールされたジョブのジョブ トリガーを取得します。
例 3: ジョブをパイプ処理してジョブ トリガーを取得する
PS C:\> Get-ScheduledJob -Name *Backup*, *Archive* | Get-JobTrigger
このコマンドは、名前に Backup または Archive が含まれるすべてのジョブのジョブトリガーを取得します。
例 4: リモート コンピューター上のジョブのジョブ トリガーを取得する
PS C:\> Invoke-Command -ComputerName Server01 { Get-ScheduledJob Backup | Get-JobTrigger -TriggerID 2 }
このコマンドは、リモート コンピューター上のスケジュールされたジョブの 2 つのジョブ トリガーのいずれかを取得します。
このコマンドでは、Invoke-Command コマンドレットを使用して Server01 コンピューターでコマンドを実行します。 Get-ScheduledJob コマンドレットを使用して Backup スケジュールされたジョブを取得し、 それを Get-JobTrigger コマンドレットにパイプします。 TriggerID パラメーターを使用して、2 番目のトリガーのみを取得します。
例 5: すべてのジョブ トリガーを取得する
PS C:\> Get-ScheduledJob | Get-JobTrigger | Format-Table -Property ID, Frequency, At, DaysOfWeek, Enabled, @{Label="ScheduledJob";Expression={$_.JobDefinition.Name}} -AutoSize
Id Frequency At DaysOfWeek Enabled ScheduledJob
-- --------- -- ---------- ------- ------------
1 Weekly 9/28/2011 3:00:00 AM {Monday} True Backup
1 Daily 9/27/2011 11:00:00 PM True Test-HelpFiles
このコマンドは、ローカル コンピューター上のすべてのスケジュールされたジョブのすべてのジョブ トリガーを取得します。
このコマンドは、Get-ScheduledJob を使用してローカル コンピューター上のスケジュールされたジョブを取得し、それらを Get-JobTrigger にパイプ処理します。これにより、スケジュールされた各ジョブ (存在する場合) のジョブ トリガーが取得されます。
スケジュールされたジョブの名前をジョブ トリガー表示に追加するために、コマンドは Format-Table コマンドレットの計算プロパティ機能を使用します。 このコマンドは、デフォルトで表示されるジョブ トリガーのプロパティに加えて、スケジュールされたジョブの名前を表示する新しい ScheduledJob プロパティを作成します。
例 6: スケジュールされたジョブのジョブ トリガー プロパティを取得する
The command uses the Get-ScheduledJob cmdlet to get the Test-HelpFiles scheduled job. Then it uses the dot method (.) to get the JobTriggers property of the Test-HelpFiles scheduled job.
PS C:\> (Get-ScheduledJob Test-HelpFiles).JobTriggers
The second command uses the Get-ScheduledJob cmdlet to get all scheduled jobs on the local computer. It uses the ForEach-Object cmdlet to get the value of the JobTrigger property of each scheduled job.
PS C:\> Get-ScheduledJob | foreach {$_.JobTriggers}
スケジュールされたジョブのジョブ トリガーは、ジョブの JobTriggers プロパティに格納されます。 この例では、 Get-JobTrigger コマンドレットを使用してジョブ トリガーを取得する方法の代替手段を示します。 結果は Get-JobTrigger コマンドレットを使用した場合と同じであり、手法は同じ意味で使用できます。
例 7: ジョブ トリガーを比較する
The first command gets the job trigger of the ArchiveProjects scheduled job. The command pipes the job trigger to the Tee-Object cmdlet, which saves the job trigger in the $T1 variable and displays it at the command line.
PS C:\> Get-ScheduledJob -Name ArchiveProjects | Get-JobTrigger | Tee-Object -Variable T1
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Daily 9/26/2011 3:00:00 AM True
The second command gets the job trigger of the Test-HelpFiles scheduled job. The command pipes the job trigger to the Tee-Object cmdlet, which saves the job trigger in the $T2 variable and displays it at the command line.
PS C:\> Get-ScheduledJob -Name "Test-HelpFiles" | Get-JobTrigger | Tee-Object -Variable T2
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Daily 9/26/2011 3:00:00 AM True
The third command compares the job triggers in the $t1 and $t2 variables. It uses the Get-Member cmdlet to get the properties of the job trigger in the $t1 variable. It pipes the properties to the ForEach-Object cmdlet, which compares each property to the properties of the job trigger in the $t2 variable by name. The command then pipes the differing properties to the Format-List cmdlet, which displays them in a list.The output indicates that, although the job triggers appear to be the same, the HelpFiles job trigger includes a random delay of three (3) minutes.
PS C:\> $T1 | Get-Member -Type Property | ForEach-Object { Compare-Object $T1 $T2 -Property $_.Name}
RandomDelay SideIndicator
----------- -------------
00:00:00 =>
00:03:00 <=
この例では、2 つのスケジュールされたジョブのジョブ トリガーを比較する方法を示します。
パラメーター
-Id
スケジュールされたジョブの識別番号を指定します。 Get-JobTrigger は、指定されたスケジュールされたジョブのジョブ トリガーを取得します。
ローカル コンピューターまたはリモート コンピューター上のスケジュールされたジョブの識別番号を取得するには、Get-ScheduledJob コマンドレットを使用します。
型: | Int32 |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
スケジュールされたジョブを指定します。 ScheduledJob オブジェクトを含む変数を入力するか、Get-ScheduledJob コマンドなどの ScheduledJob オブジェクトを取得するコマンドまたは式を入力します。 また、ScheduledJob オブジェクトを Get-JobTrigger にパイプ処理することもできます。
型: | ScheduledJobDefinition |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
スケジュールされたジョブの名前を指定します。 Get-JobTrigger は、指定されたスケジュールされたジョブのジョブ トリガーを取得します。 ワイルドカードがサポートされています。
ローカル コンピューターまたはリモート コンピューター上のスケジュールされたジョブの名前を取得するには、Get-ScheduledJob コマンドレットを使用します。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TriggerId
指定したジョブ トリガーを取得します。 スケジュールされたジョブの 1 つ以上のジョブ トリガーのトリガー ID を入力します。 このパラメーターは、Name、ID、または InputObject パラメーター で指定されたスケジュールされたジョブに複数のジョブ トリガーがある場合に使用します。
型: | Int32[] |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
スケジュールされたジョブを Get-ScheduledJob から Get-JobTrigger にパイプ処理できます。
出力
関連リンク
- スケジュール済みジョブについて
- 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