Get-JobTrigger

获取计划作业的作业触发器。

语法

JobDefinition (默认值)

Get-JobTrigger
    [[-TriggerId] <Int32[]>]
    [-InputObject] <ScheduledJobDefinition>
    [<CommonParameters>]

JobDefinitionId

Get-JobTrigger
    [[-TriggerId] <Int32[]>]
    [-Id] <Int32>
    [<CommonParameters>]

JobDefinitionName

Get-JobTrigger
    [[-TriggerId] <Int32[]>]
    [-Name] <String>
    [<CommonParameters>]

说明

Get-JobTrigger cmdlet 获取计划作业的作业触发器。 可以使用此命令检查作业触发器或将作业触发器通过管道传递给其他 cmdlet。

作业触发器定义用于启动计划作业的定期计划或条件。 作业触发器不会单独保存到磁盘;它们是计划作业的一部分。 若要获取作业触发器,请指定触发器启动的计划作业。

使用 Get-JobTrigger cmdlet 的参数来标识计划作业。 可以通过计划作业的名称或标识号来标识计划作业,也可以输入或管道 ScheduledJob 对象(例如由 Get-ScheduledJob cmdlet 返回的对象)来 Get-JobTrigger

Get-JobTrigger 是 WINDOWS PowerShell 中包含的 PSScheduledJob 模块中作业计划 cmdlet 的集合之一。

有关计划作业的详细信息,请参阅 PSScheduledJob 模块中的“关于”主题。 导入 PSScheduledJob 模块,然后键入:Get-Help about_Scheduled* 或查看 about_Scheduled_Jobs

此 cmdlet 已在 Windows PowerShell 3.0 中引入。

示例

示例 1:按计划作业名称获取作业触发器

Get-JobTrigger -Name "BackupJob"

该命令使用 Get-JobTrigger 参数来获取 BackupJob 计划作业的作业触发器。

示例 2:按 ID 获取作业触发器

该示例使用 Get-JobTrigger 参数来获取计划作业的作业触发器。

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
Get-JobTrigger -Id 3

第一个命令使用 Get-ScheduledJob cmdlet 在本地计算机上显示计划作业。 该显示包括计划作业的 ID。

第二个命令使用 Get-JobTrigger cmdlet 获取 Test-HelpFiles 作业的作业触发器(其 id id3)。

示例 3:通过管道获取作业触发器

此示例获取具有匹配名称的作业的作业触发器。

Get-ScheduledJob -Name *Backup*, *Archive* | Get-JobTrigger

此命令获取名称中包含 BackupArchive 的所有作业的作业触发器。

示例 4:获取远程计算机上的作业的作业触发器

此示例获取远程计算机上的计划作业的触发器。

Invoke-Command -ComputerName Server01 { Get-ScheduledJob Backup | Get-JobTrigger -TriggerId 2 }

该命令使用 Invoke-Command cmdlet 在 Server01 计算机上运行命令。 它使用 Get-ScheduledJob cmdlet 获取 Backup 计划作业,该作业通过管道传递给 Get-JobTrigger cmdlet。 它使用 TriggerId 参数仅获取第二个触发器。

示例 5:获取所有作业触发器

此示例获取本地计算机上所有计划作业的所有作业触发器。

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 cmdlet 的计算属性功能。 除了默认显示的作业触发器属性之外,该命令还会创建一个新的 ScheduledJob 属性,该属性显示计划作业的名称。

示例 6:获取计划作业的作业触发器属性

此示例显示了查看计划作业 JobTrigger 属性的不同方法。

(Get-ScheduledJob Test-HelpFiles).JobTriggers
Get-ScheduledJob | foreach {$_.JobTriggers}

第一个命令使用 Get-ScheduledJob cmdlet 来获取 Test-HelpFiles 计划作业。 然后,它使用点方法(.)获取 计划作业的 Test-HelpFiles 属性。

第二个命令使用 Get-ScheduledJob cmdlet 在本地计算机上获取所有计划作业。 它使用 ForEach-Object cmdlet 获取每个计划作业的 JobTriggers 属性的值。

计划作业的作业触发器存储在作业的 JobTriggers 属性中。 此示例演示了使用 Get-JobTrigger cmdlet 获取作业触发器的替代方法。 结果与使用 Get-JobTrigger cmdlet 相同,技术可以互换使用。

示例 7:比较作业触发器

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
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
$t1| Get-Member -Type Property | ForEach-Object { Compare-Object $t1 $t2 -Property $_.Name}
RandomDelay                                                 SideIndicator
-----------                                                 -------------
00:00:00                                                    =>
00:03:00                                                    <=

第一个命令获取 ArchiveProjects 计划作业的作业触发器。 该命令通过管道将作业触发器传递给 Tee-Object cmdlet,该 cmdlet 将作业触发器保存在 $t1 变量中,并将其显示在命令行中。

第二个命令获取 Test-HelpFiles 计划作业的作业触发器。 该命令通过管道将作业触发器传递给 Tee-Object cmdlet,该 cmdlet 将作业触发器保存在 $t2 变量中,并将其显示在命令行中。

第三个命令比较 $t1 和$t 2 变量中的作业触发器。 它使用 Get-Member cmdlet 获取$t 1 变量中作业触发器的属性。 它通过管道将属性传递给 ForEach-Object cmdlet,该 cmdlet 按名称将每个属性与 $t2 变量中作业触发器的属性进行比较。 然后,该命令通过管道将不同的属性传递给 Format-List cmdlet,该 cmdlet 在列表中显示它们。输出表明,尽管作业触发器看起来相同,但 HelpFiles 作业触发器包括 3 分钟(3)分钟的随机延迟。

此示例演示如何比较两个计划作业的作业触发器。

参数

-Id

指定计划作业的标识号。 Get-JobTrigger 获取指定计划作业的作业触发器。

若要获取本地计算机或远程计算机上的计划作业的标识号,请使用 Get-ScheduledJob cmdlet。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

JobDefinitionId
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

指定计划作业。 输入一个变量,其中包含 ScheduledJob 对象,或键入一个命令或表达式,该命令或表达式获取 ScheduledJob 对象,例如 Get-ScheduledJob 命令。 还可以通过管道 ScheduledJob 对象来 Get-JobTrigger

参数属性

类型:ScheduledJobDefinition
默认值:None
支持通配符:False
不显示:False

参数集

JobDefinition
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

指定计划作业的名称。 Get-JobTrigger 获取指定计划作业的作业触发器。 支持通配符。

若要获取本地计算机或远程计算机上的计划作业的名称,请使用 Get-ScheduledJob cmdlet。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

JobDefinitionName
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-TriggerId

获取指定的作业触发器。 输入计划作业的一个或多个作业触发器的触发器 ID。 当由 名称IDInputObject 参数指定的计划作业具有多个作业触发器时,请使用此参数。

参数属性

类型:

Int32[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

ScheduledJobDefinition

可以通过管道将计划作业传递给此 cmdlet。

输出

ScheduledJobTrigger

此 cmdlet 返回计划的作业触发器。