共用方式為


Remove-JobTrigger

從排程的工作中刪除作業觸發程式。

Syntax

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

Description

Remove-JobTrigger Cmdlet 會從排程的工作中刪除作業觸發程式。

作業觸發程式會定義啟動排程工作的週期性排程或條件。 若要管理工作觸發程序,請使用 New-JobTrigger、Add-JobTrigger、Set-JobTrigger 及 Set-ScheduledJob Cmdlet。

使用 Remove-JobTriggerNameIDInputObject 參數來識別要從中移除觸發程序的排程工作。 使用 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*"

此命令會從具有開頭為 Test 的名稱的排程作業中刪除所有作業觸發程式。

範例 2:刪除選取的工作觸發程序

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

此命令只會刪除 BackupArchive 排程工作中的第三個觸發程序 (識別碼 = 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,它會選取作業觸發程式的值,其中作業觸發程式的值等於 AtStartup。

JobTrigger 物件具有 JobDefinition 屬性,其中包含它們所觸發的排程工作。 命令的其餘部分使用該實用功能。

管線運算子會將 AtStartup 工作觸發程序傳送至 ForEach-Object 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。

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定排程工作。 輸入包含 ScheduledJob 物件的變數,或輸入取得 ScheduledJob 物件的命令或表示式,例如 Get-ScheduledJob 命令。 您也可以使用管線將 ScheduledJob 物件傳送至 Remove-JobTrigger

Type:ScheduledJobDefinition[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定排程工作的名稱。 Remove-JobTrigger 會將工作觸發程序從指定的排程工作刪除。 支援萬用字元。

若要取得本機電腦或遠端電腦上排程工作的名稱,請使用 Get-ScheduledJob Cmdlet。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TriggerId

只刪除指定的工作觸發程序。 根據預設值,Remove-JobTrigger 會刪除排程工作的所有觸發程序。 當排程工作有多個工作觸發程序時,請使用此參數。

輸入排程工作之一或多個工作觸發程序的觸發程序識別碼。 如果您指定多個排程工作, Remove-JobTrigger 會從所有排程工作中刪除具有指定標識符的作業觸發程式。

Type:Int32[]
Position:Named
Default value:All triggers
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

ScheduledJobDefinition

您可以使用管線傳送排程工作至 Remove-JobTrigger Cmdlet。

輸出

None

此 Cmdlet 不會產生任何輸出。