Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Disable-JobTrigger

Updated: October 17, 2013

Applies To: Windows PowerShell 4.0

Disable-JobTrigger

Disables the job triggers of scheduled jobs

Syntax

Parameter Set: JobEnabled
Disable-JobTrigger [-InputObject] <ScheduledJobTrigger[]> [-PassThru] [-Confirm] [-WhatIf] [ <CommonParameters>]




Detailed 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 ($false). To re-enable the job trigger, use the Enable-JobTrigger cmdlet, which sets the Enabled property of the job trigger to True ($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 is introduced in Windows PowerShell 3.0.

Parameters

-InputObject<ScheduledJobTrigger[]>

Specifies the job trigger to be disabled. Enter a variable that contains ScheduledJobTrigger objects or type a command or expression that gets ScheduledJobTriger objects, such as a Get-JobTrigger command. You can also pipe a ScheduledJobTrigger object to Disable-JobTrigger.


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-PassThru

The Passthru parameter displays any objects that are created or modified by your command.


Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.


Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.


Required?

false

Position?

named

Default Value

false

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.ScheduledJobTrigger

    You can pipe job triggers to Disable-JobTrigger.


Outputs

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

  • None

    This cmdlet does not generate any output.


Notes

  • Disable-JobTrigger does not generate errors or warnings if you disable a job trigger that is already disabled.

Examples

Example 1: Disable a job trigger

This command disables the first trigger (ID=1) of the Backup-Archives scheduled job on the local computer.

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.


PS C:\> Get-JobTrigger -Name Backup-Archives -TriggerID 1 | Disable-JobTrigger

Example 2: Disable all job triggers

These commands disable all job triggers on two scheduled jobs and display the results.


 

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.


PS C:\> Get-ScheduledJob -Name Backup-Archives, Inventory | Get-JobTrigger | Disable-JobTrigger

 

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.


PS C:\>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

Example 3: Disable job trigger of a scheduled job on a remote computer.

This command disables the daily job triggers on the DeployPackage scheduled job on the Server01 remote computer.

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 cmdlets which disables them.


PS C:\> Invoke-Command -ComputerName Server01 {Get-JobTrigger -Name DeployPackage | Where-Object {$_.Frequency -eq "Daily"} | Disable-JobTrigger}

Related topics



Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.