Get-JobTrigger
获取计划作业的作业触发器。
语法
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-InputObject] <ScheduledJobDefinition>
[<CommonParameters>]
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-Id] <Int32>
[<CommonParameters>]
Get-JobTrigger
[[-TriggerId] <Int32[]>]
[-Name] <String>
[<CommonParameters>]
说明
Get-JobTrigger
cmdlet 获取计划作业的作业触发器。 你可以使用此命令检查作业触发器或通过管道将其传递给其他 cmdlet。
作业触发器定义用于启动计划作业的定期时间表或条件。 不会单独将作业触发器保存到磁盘,因为它们是计划作业的一部分。 若要获取作业触发器,请指定该触发器启动的计划作业。
使用 Get-JobTrigger
cmdlet 的参数来标识计划作业。 你可以通过以下方式来标识计划作业:使用其名称或标识号,或将 ScheduledJob 对象(例如由 Get-ScheduledJob
cmdlet 返回的那些对象)输入或通过管道发送到 Get-JobTrigger
。
Get-JobTrigger
是 PSScheduledJob 模块(包含在 Windows PowerShell 中)中的一系列作业计划 cmdlet 之一。
有关计划作业的详细信息,请参阅 PSScheduledJob 模块中的“关于”主题。 导入 PSScheduledJob 模块,然后键入 Get-Help about_Scheduled*
,或参阅 about_Scheduled_Jobs。
此 cmdlet 是在 Windows PowerShell 3.0 中引入的。
示例
示例 1:按计划作业名称获取作业触发器
Get-JobTrigger -Name "BackupJob"
此命令使用 Get-JobTrigger
的 Name 参数来获取 BackupJob
计划作业的作业触发器。
示例 2:按 ID 获取作业触发器
此示例使用 Get-JobTrigger
的 ID 参数来获取计划作业的作业触发器。
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 为 3
)的作业触发器。
示例 3:通过管道传递作业以获取作业触发器
此示例获取具有匹配名称的作业的作业触发器。
Get-ScheduledJob -Name *Backup*, *Archive* | Get-JobTrigger
此命令获取其名称中有 Backup
或 Archive
的所有作业的作业触发器。
示例 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
计划作业的 JobTriggers 属性。
第二个命令使用 Get-ScheduledJob
cmdlet 获取本地计算机上的所有计划作业。 它使用 ForEach-Object
cmdlet 获取每个计划作业的 JobTrigger 属性值。
计划作业的作业触发器存储在该作业的 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
和 $t2 变量中的作业触发器。 它使用 Get-Member
cmdlet 来获取 $t1 变量中作业触发器的属性。 它通过管道将各个属性传递给 ForEach-Object
cmdlet,此 cmdlet 按名称将每个属性与 $t2
变量中作业触发器的属性进行比较。 然后,该命令通过管道将不同的属性传递给 Format-List
cmdlet,此 cmdlet 在列表中显示它们。输出表明,尽管这些作业触发器看起来相同,但 HelpFiles
作业触发器包括三 (3
) 分钟的随机延迟。
此示例显示了如何比较两个计划作业的作业触发器。
参数
-Id
指定计划作业的标识号。 Get-JobTrigger
获取指定计划作业的作业触发器。
若要获取本地计算机或远程计算机上的计划作业的标识号,请使用 Get-ScheduledJob
cmdlet。
类型: | Int32 |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-InputObject
指定计划作业。 请输入包含 ScheduledJob 对象的变量,或者键入获取 ScheduledJob 对象的命令或表达式,例如 Get-ScheduledJob
命令。 还可以通过管道将 ScheduledJob 对象传递给 Get-JobTrigger
。
类型: | ScheduledJobDefinition |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Name
指定计划作业的名称。 Get-JobTrigger
获取指定计划作业的作业触发器。 支持通配符。
若要获取本地计算机或远程计算机上的计划作业的名称,请使用 Get-ScheduledJob
cmdlet。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TriggerId
获取指定的作业触发器。 输入计划作业中一个或多个作业触发器的触发器 ID。 如果 Name、ID 或 InputObject 参数指定的计划作业有多个作业触发器,请使用此参数。
类型: | Int32[] |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
你可以通过管道将计划作业传递给此 cmdlet。
输出
此 cmdlet 返回计划作业的触发器。
相关链接
- 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