Remove-JobTrigger
從排程的作業中刪除作業觸發程式。
語法
JobDefinition (預設值)
Remove-JobTrigger
[-InputObject] <ScheduledJobDefinition[]>
[-TriggerId <Int32[]>]
[<CommonParameters>]
JobDefinitionName
Remove-JobTrigger
[-Name] <String[]>
[-TriggerId <Int32[]>]
[<CommonParameters>]
JobDefinitionId
Remove-JobTrigger
[-Id] <Int32[]>
[-TriggerId <Int32[]>]
[<CommonParameters>]
Description
Remove-JobTrigger cmdlet 從計劃作業中刪除作業觸發器。
作業觸發程式會定義啟動排程工作的週期性排程或條件。 若要管理作業觸發程式,請使用 New-JobTrigger、Add-JobTrigger、Set-JobTrigger 和 Set-ScheduledJob Cmdlet。
使用 Name、ID或 InputObjectRemove-JobTrigger 的參數,來識別觸發程式從中移除的排程工作。 使用 TriggerID 參數來識別要刪除的工作觸發程式。 根據預設,Remove-JobTrigger 會刪除排程作業的所有作業觸發程式。
Remove-JobTrigger 是 Windows PowerShell 中包含的 PSScheduledJob 模組中作業排程 Cmdlet 的其中一個集合。
如需排程工作的詳細資訊,請參閱 PSScheduledJob 模組中的 About 主題。
匯入 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 排程工作中刪除第三個觸發程式 (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 選擇作業觸發器的 Frequency 屬性值等於 AtStartup 的作業觸發器。
JobTrigger 物件具有 JobDefinition 屬性,其中包含其觸發的排程工作。 命令的其餘部分會使用該有價值的功能。
管線運算符會將 AtStartup 作業觸發程式傳送至 ForEach-Object Cmdlet,此 Cmdlet 會在每個 AtStartup 觸發程式上執行 Remove-JobTrigger 命令。 Remove-JobTrigger 的 InputObject 參數的值是作業觸發器的 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 參數來標識 Inventory 計劃作業,並使用 TriggerID 參數來指定第一個觸發器。 當多個排程工作具有相同或類似名稱時,標識子 參數特別有用。
參數
-Id
指定排程工作的識別碼。 Remove-JobTrigger 會從指定的排程工作中刪除作業觸發程式。
若要取得本機電腦或遠端電腦上的排程工作識別碼,請使用 Get-ScheduledJob Cmdlet。
參數屬性
| 類型: | Int32[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobDefinitionId
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-InputObject
指定排程的工作。 輸入包含 ScheduledJob 物件的變數,或輸入命令或表達式,以取得 ScheduledJob 物件,例如 Get-ScheduledJob 命令。 您也可以使用管線 ScheduledJob 物件,Remove-JobTrigger。
參數屬性
| 類型: | ScheduledJobDefinition[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobDefinition
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Name
指定排程工作的名稱。 Remove-JobTrigger 會從指定的排程工作中刪除作業觸發程式。 支援通配符。
若要取得本機電腦或遠端電腦上的排程工作名稱,請使用 Get-ScheduledJob Cmdlet。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobDefinitionName
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-TriggerId
只刪除指定的作業觸發程式。 根據預設,Remove-JobTrigger 會從排程的工作中刪除所有觸發程式。 當排程的工作有多個作業觸發程式時,請使用此參數。
輸入排程作業之一或多個作業觸發程式的觸發程式標識碼。 如果您指定了多個計劃作業, 則 Remove-JobTrigger 將從所有計劃作業中刪除具有指定 ID 的作業觸發器。
參數屬性
| 類型: | Int32[] |
| 預設值: | All triggers |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
ScheduledJobDefinition
您可以使用管線將排程的工作傳送至 Remove-JobTrigger Cmdlet。
輸出
None
Cmdlet 不會產生任何輸出。