Export (0) Print
Expand All

Remove-JobTrigger

Updated: May 7, 2014

Applies To: Windows PowerShell 4.0

Remove-JobTrigger

Delete job triggers from scheduled jobs

Syntax

Parameter Set: JobDefinition
Remove-JobTrigger [-InputObject] <ScheduledJobDefinition[]> [-TriggerId <Int32[]> ] [ <CommonParameters>]

Parameter Set: JobDefinitionId
Remove-JobTrigger [-Id] <Int32[]> [-TriggerId <Int32[]> ] [ <CommonParameters>]

Parameter Set: JobDefinitionName
Remove-JobTrigger [-Name] <String[]> [-TriggerId <Int32[]> ] [ <CommonParameters>]




Detailed Description

The Remove-JobTrigger cmdlet deletes job triggers from scheduled jobs.

A "job trigger" defines a recurring schedule or conditions for starting a scheduled job. To manage job triggers, use the New-JobTrigger, Add-JobTrigger, Set-JobTrigger, and Set-ScheduledJob cmdlets.

Use the Name, ID, or InputObject parameters of Remove-JobTrigger to identify the scheduled jobs from which the triggers are removed. Use the TriggerID parameter of Remove-JobTrigger to identify the job triggers to delete. By default, Remove-JobTrigger deletes all job triggers of a scheduled job.

Remove-JobTrigger is one of a collection of job scheduling cmdlets in the PSScheduledJob module that is included in Windows PowerShell.

For more information about Scheduled Jobs, see the About topics in the PSScheduledJob module. Import the PSScheduledJob module and then type: Get-Help about_Scheduled* or see about_Scheduled_Jobs.

This cmdlet is introduced in Windows PowerShell 3.0.

Parameters

-Id<Int32[]>

Specifies the identification numbers of the scheduled jobs. Remove-JobTrigger deletes job triggers from the specified scheduled jobs.

To get the identification number of scheduled jobs on the local computer or a remote computer, use the Get-ScheduledJob cmdlet.


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InputObject<ScheduledJobDefinition[]>

Specifies the scheduled jobs. Enter a variable that contains ScheduledJob objects or type a command or expression that gets ScheduledJob objects, such as a Get-ScheduledJob command. You can also pipe ScheduledJob objects to Remove-JobTrigger.


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-Name<String[]>

Specifies the names of the scheduled jobs. Remove-JobTrigger deletes the job triggers from the specified scheduled jobs. Wildcards are supported.

To get the names of scheduled jobs on the local computer or a remote computer, use the Get-ScheduledJob cmdlet.


Aliases

none

Required?

true

Position?

1

Default Value

None

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TriggerId<Int32[]>

Deletes only the specified job triggers. By default, Remove-JobTrigger deletes all triggers from the scheduled jobs. Use this parameter when the scheduled jobs have multiple job triggers.

Enter the trigger IDs of one or more job triggers of a scheduled job. If you specify multiple scheduled jobs, Remove-JobTrigger deletes the job trigger with the specified ID from all scheduled jobs.


Aliases

none

Required?

false

Position?

named

Default Value

All triggers

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see  about_CommonParameters (http://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

    You can pipe scheduled jobs to the Remove-JobTrigger cmdlet.


Outputs

The output type is the type of the objects that the cmdlet emits.

  • None

    The cmdlet does not generate any output.


Examples

Example 1: Delete all job triggers

This command deletes all job triggers from scheduled job that have names that begin with "Test".


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

Example 2: Delete selected job triggers

This command deletes only the third trigger (ID = 3) from the BackupArchive scheduled job.


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

Example 3: Delete AtStartup job triggers from all scheduled jobs

This function deletes all AtStartup job triggers from all jobs on the local computer. To use the function, run the function in your session and then type "Delete-AtStartup"

The Delete-AtStartup function contains a single command. The command uses the Get-ScheduledJob cmdlet to get the scheduled jobs on the local computer. A pipeline operator (|) sends the scheduled jobs to the Get-JobTrigger cmdlet, which gets all of the job triggers from each of the scheduled jobs. A pipeline operator sends the job triggers to the Where-Object cmdlet, which selects job triggers where the value of the Frequency property of the job trigger equals "AtStartup."

Job trigger objects have a JobDefinition property that contains the scheduled job that they trigger. The remainder of the command uses that valuable feature.

A pipeline operator sends the AtStartup job triggers to the ForEach-Object cmdlet, which runs a Remove-JobTrigger command on each AtStartup trigger. The value of the InputObject parameter of Remove-JobTrigger is the scheduled job in the JobDefinition property of the job trigger. The value of the TriggerID parameter is the identifier in the ID property of the job trigger.


 

PS C:\>                 
function Delete-AtStartup
{
    Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.Frequency -eq "AtStartup"} | ForEach-Object { Remove-JobTrigger -InputObject $_.JobDefinition -TriggerID $_.ID}
}

Example 4: Delete a job trigger from a remote scheduled job

This command deletes the first job trigger from the Inventory job on the Server01 computer.

The command uses the Invoke-Command cmdlet to run a Remove-JobTrigger command on the Server01 computer. The Remove-JobTrigger command uses the ID parameter to identify the Inventory scheduled job and the TriggerID parameter to specify the first trigger. The ID parameter is especially useful when multiple scheduled jobs have the same or similar names.


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

Related topics



Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft