Remove-JobTrigger
从计划作业中删除作业触发器。
语法
Remove-JobTrigger
[-TriggerId <Int32[]>]
[-InputObject] <ScheduledJobDefinition[]>
[<CommonParameters>]
Remove-JobTrigger
[-TriggerId <Int32[]>]
[-Id] <Int32[]>
[<CommonParameters>]
Remove-JobTrigger
[-TriggerId <Int32[]>]
[-Name] <String[]>
[<CommonParameters>]
说明
Remove-JobTrigger
cmdlet 从计划作业中删除作业触发器。
作业触发器定义用于启动计划作业的定期时间表或条件。 若要管理作业触发器,请使用 New-JobTrigger、Add-JobTrigger、Set-JobTrigger 和 Set-ScheduledJob
cmdlet。
使用 Remove-JobTrigger
的 Name、ID 或 InputObject 参数来标识从中移除触发器的计划作业。 使用 TriggerID 参数来标识要删除的作业触发器。 默认情况下,Remove-JobTrigger
删除计划作业的所有作业触发器。
Remove-JobTrigger
是 PSScheduledJob 模块(包含在 Windows PowerShell 中)中的一系列作业计划 cmdlet 之一。
有关计划作业的详细信息,请参阅 PSScheduledJob 模块中的“关于”主题。 导入 PSScheduledJob 模块,然后键入 Get-Help about_Scheduled*
,或参阅 about_Scheduled_Jobs。
此 cmdlet 是在 Windows PowerShell 3.0 中引入的。
示例
示例 1:删除所有作业触发器
Remove-JobTrigger -Name "Test*"
此命令从计划作业中删除名称以 Test 开头的所有作业触发器。
示例 2:删除选定的作业触发器
Remove-JobTrigger -Name "BackupArchive" -TriggerID 3
此命令仅从 BackupArchive 计划作业中删除第三个触发器 (ID = 3)。
示例 3:从所有计划作业中删除 AtStartup 作业触发器
function Delete-AtStartup
{
Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.Frequency -eq "AtStartup"} | ForEach-Object { Remove-JobTrigger -InputObject $_.JobDefinition -TriggerID $_.ID}
}
此函数从本地计算机上的所有作业中删除所有 AtStartup 作业触发器。
若要使用此函数,请在你的会话中运行此函数,然后键入 Delete-AtStartup
。
Delete-AtStartup
函数包含单个命令。 此命令使用 Get-ScheduledJob
cmdlet 获取本地计算机上的计划作业。 管道运算符 (|
) 将计划作业发送到 Get-JobTrigger
cmdlet,此 cmdlet 从每个计划作业中获取所有作业触发器。 管道运算符将作业触发器发送到 Where-Object
cmdlet,此 cmdlet 将选择其 Frequency 属性的值等于 AtStartup 的作业触发器。
JobTrigger 对象有一个 JobDefinition 属性,其中包含它们触发的计划作业。 该命令的剩余部分将使用这一有价值的功能。
管道运算符将 AtStartup 作业触发器发送到 ForEach-Object
cmdlet,后者在每个 AtStartup 触发器上运行 Remove-JobTrigger
命令。 Remove-JobTrigger
的 InputObject 属性的值是作业触发器的 JobDefinition 属性中的计划作业。 TriggerID 参数的值是作业触发器的 ID 属性中的标识符。
示例 4:从远程计划作业中删除作业触发器
Invoke-Command -ComputerName "Server01" { Remove-JobTrigger -ID 38 -TriggerID 1 }
此命令从 Server01 计算机上的 Inventory 作业中删除第一个作业触发器。
该命令使用 Invoke-Command
cmdlet 在 Server01 计算机上运行 Remove-JobTrigger
cmdlet。 Remove-JobTrigger
cmdlet 使用 ID 参数来标识 Inventory 计划作业,并使用 TriggerID 参数来指定第一个触发器。 当多个计划作业具有相同或类似的名称时,ID 参数特别有用。
参数
-Id
指定计划作业的标识号。 Remove-JobTrigger
从指定的计划作业中删除作业触发器。
若要获取本地计算机或远程计算机上的计划作业的标识号,请使用 Get-ScheduledJob
cmdlet。
类型: | Int32[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-InputObject
指定计划作业。 请输入包含 ScheduledJob 对象的变量,或者键入获取 ScheduledJob 对象的命令或表达式,例如 Get-ScheduledJob
命令。 还可以通过管道将 ScheduledJob 对象传递给 Remove-JobTrigger
。
类型: | ScheduledJobDefinition[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Name
指定计划作业的名称。 Remove-JobTrigger
从指定的计划作业中删除作业触发器。 支持通配符。
若要获取本地计算机或远程计算机上的计划作业的名称,请使用 Get-ScheduledJob
cmdlet。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TriggerId
只删除指定的作业触发器。 默认情况下,Remove-JobTrigger
从计划作业中删除所有触发器。 在计划作业有多个作业触发器时使用此参数。
输入计划作业中一个或多个作业触发器的触发器 ID。 如果指定了多个计划作业,则 Remove-JobTrigger
将从所有计划作业中删除具有指定 ID 的作业触发器。
类型: | Int32[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
你可以通过管道将计划作业传递给此 cmdlet。
输出
None
此 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