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

输入

ScheduledJobDefinition

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

输出

None

此 cmdlet 不返回任何输出。