Disable-JobTrigger
Disables the job triggers of scheduled jobs.
Syntax
Disable-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Disable-JobTrigger
cmdlet temporarily disables the job triggers of scheduled jobs. Disabling
preserves all job trigger properties, but it prevents the job trigger from starting the scheduled
job.
To use this cmdlet, use the Get-JobTrigger
cmdlet to get the job triggers. Then pipe the job
triggers to Disable-JobTrigger
or use its InputObject parameter.
To disable a job trigger, the Disable-JobTrigger
cmdlet sets the Enabled property of the job
trigger to $False
. To re-enable the job trigger, use the Enable-JobTrigger
cmdlet, which sets
the Enabled property of the job trigger to $True. Disabling a job trigger does not disable the
scheduled job, such as is done by the Disable-ScheduledJob
cmdlet, but if you disable all job
triggers, the effect is the same as disabling the scheduled job.
If you disable a scheduled job or disable all job triggers of a scheduled job, you can still start
the job by using the Start-Job
cmdlet or use the disabled scheduled job as a template.
Disable-ScheduledJob
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 was introduced in Windows PowerShell 3.0.
Examples
Example 1: Disable a job trigger
This example disables the first trigger a scheduled job on the local computer.
PS C:\> Get-JobTrigger -Name "Backup-Archives" -TriggerID 1 | Disable-JobTrigger
The command uses the Get-JobTrigger
cmdlet to get the job trigger. A pipeline operator (|
)sends
the job trigger to the Disable-JobTrigger
cmdlet, which disables it.
Example 2: Disable all job triggers
Get-ScheduledJob -Name "Backup-Archives,Inventory" | Get-JobTrigger | Disable-JobTrigger
Get-ScheduledJob -Name "Backup-Archives,Inventory" | Get-JobTrigger |
Format-Table -Property ID, Frequency, At, DaysOfWeek, Enabled, @{Label="JobName";Expression={$_.JobDefinition.Name}} -AutoSize
Id Frequency At DaysOfWeek Enabled JobName
-- --------- -- ---------- ------- -------
1 Weekly 9/28/2011 3:00:00 AM {Monday} False Backup-Archive
2 Daily 9/29/2011 1:00:00 AM False Backup-Archive
1 Weekly 10/20/2011 11:00:00 PM {Friday} False Inventory
1 Weekly 11/2/2011 2:00:00 PM {Monday} False Inventory
The first command uses the Get-ScheduledJob
cmdlet to get the Backup-Archives
and Inventory
scheduled jobs. A pipeline operator (|
) sends the scheduled jobs to the Get-JobTrigger
cmdlet,
which gets all job triggers of the scheduled jobs. Another pipeline operator sends the job triggers
to the Disable-JobTrigger
cmdlet, which disables them.The first command uses the
Get-ScheduledJob
cmdlet to get the jobs, because its Name parameter takes multiple names.
The second command displays the results. The command repeats the Get-ScheduledJob
and
Get-JobTrigger
command. A pipeline operator sends the job triggers to the Format-Table
cmdlet,
which displays the job triggers in a table. The Format-Table
command adds a JobName property that
displays the value of the Name property of the scheduled job in the JobDefinition property of the
job trigger object.
These commands disable all job triggers on two scheduled jobs and display the results.
Example 3: Disable job trigger of a scheduled job on a remote computer
This example disables the daily job triggers for a scheduled job on a remote computer
Invoke-Command -ComputerName Server01 {Get-JobTrigger -Name DeployPackage | Where-Object {$_.Frequency -eq "Daily"} | Disable-JobTrigger}
The command uses the Invoke-Command
cmdlet to run the commands on the Server01 computer. The
remote command uses the Get-JobTrigger
cmdlet to get the job triggers of the DeployPackage
scheduled job. A pipeline operator sends the job triggers to the Where-Object
cmdlet, which
returns only daily job triggers. A pipeline operator sends the daily job triggers to the
Disable-JobTrigger
cmdlet, which disables them.
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifies the job trigger to be disabled. Enter a variable that contains ScheduledJobTrigger
objects or type a command or expression that gets ScheduledJobTrigger objects, such as a
Get-JobTrigger
command. You can also pipe a ScheduledJobTrigger object to
Disable-JobTrigger
.
Type: | ScheduledJobTrigger[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
You can pipe a job trigger to this cmdlet.
Outputs
None
This cmdlet returns no output.
Notes
Disable-JobTrigger
does not generate errors or warnings if you disable a job trigger that is already disabled.
Related Links
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob