次の方法で共有


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-JobTriggerName パラメーターを使用して、スケジュールされたジョブの 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-JobTriggerID パラメーターを使用して、スケジュールされたジョブのジョブ トリガーを取得します。

例 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 を入力します。 このパラメーターは、NameID、または InputObject パラメーター で指定されたスケジュールされたジョブに複数のジョブ トリガーがある場合に使用します。

型:Int32[]
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

ScheduledJobDefinition

スケジュールされたジョブを Get-ScheduledJob から Get-JobTrigger にパイプ処理できます。

出力

ScheduledJobTrigger