Remove-JobTrigger

从计划作业中删除作业触发器。

语法

Remove-JobTrigger
      [-TriggerId <Int32[]>]
      [-InputObject] <ScheduledJobDefinition[]>
      [<CommonParameters>]
Remove-JobTrigger
      [-TriggerId <Int32[]>]
      [-Name] <String[]>
      [<CommonParameters>]
Remove-JobTrigger
      [-TriggerId <Int32[]>]
      [-Id] <Int32[]>
      [<CommonParameters>]

说明

Remove-JobTrigger cmdlet 从计划作业中删除作业触发器。

作业触发器定义用于启动计划作业的定期计划或条件。 若要管理作业触发器,请使用 New-JobTrigger、Add-JobTrigger、Set-JobTrigger 和 Set-ScheduledJob cmdlet。

使用 NameIDRemove-JobTrigger 的 InputObject 参数来标识从中删除触发器的计划作业。 使用 TriggerID 参数标识要删除的作业触发器。 默认情况下,Remove-JobTrigger 删除计划作业的所有作业触发器。

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

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

此 cmdlet 已在 Windows PowerShell 3.0 中引入。

示例

示例 1:删除所有作业触发器

PS C:\> Remove-JobTrigger -Name "Test*"

此命令从计划作业中删除名称以测试开头的所有作业触发器。

示例 2:删除所选作业触发器

PS C:\> Remove-JobTrigger -Name "BackupArchive" -TriggerID 3

此命令仅从 BackupArchive 计划作业中删除第三个触发器(ID = 3)。

示例 3:从所有计划作业中删除 AtStartup 作业触发器

PS C:\> 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 选择作业触发器,其中作业触发器的值等于 AtStartup。

JobTrigger 对象具有 JobDefinition 属性,该属性包含触发的计划作业。 该命令的其余部分使用该有价值的功能。

管道运算符将 AtStartup 作业触发器发送到 ForEach-Object cmdlet,该 cmdlet 在每个 AtStartup 触发器上运行 Remove-JobTrigger 命令。 Remove-JobTriggerInputObject 参数的值是作业触发器的 JobDefinition 属性中的计划作业。 TriggerID 参数的值是作业触发器的 ID 属性中的标识符。

示例 4:从远程计划作业中删除作业触发器

PS C:\> Invoke-Command -ComputerName "Server01" { Remove-JobTrigger -ID 38 -TriggerID 1 }

此命令从 Server01 计算机上的 Inventory 作业中删除第一个作业触发器。

该命令使用 Invoke-Command cmdlet 在 Server01 计算机上运行 Remove-JobTrigger cmdlet。 Remove-JobTrigger cmdlet 使用 ID 参数标识清单计划作业和 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
默认值:All triggers
必需:False
接受管道输入:False
接受通配符:False

输入

ScheduledJobDefinition

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

输出

None

该 cmdlet 不生成任何输出。