Enable-JobTrigger
Published: February 29, 2012
Updated: August 15, 2012
Applies To: Windows PowerShell 3.0
Enable-JobTrigger
Syntax
Parameter Set: JobEnabled Enable-JobTrigger [-InputObject] <ScheduledJobTrigger[]> [-Confirm] [-WhatIf] [ <CommonParameters>]
Detailed Description
The Enable-JobTrigger cmdlet re-enables job triggers of scheduled jobs, such as those that were disabled by using the Disable-JobTrigger cmdlet. Enabled and re-enabled job triggers can start scheduled jobs immediately; there is no need to restart Windows or Windows PowerShell.
To use this cmdlet, use the Get-JobTrigger cmdlet to get the job triggers. Then pipe the job triggers to Enable-JobTrigger or use its InputObject parameter.
To enable a job trigger, the Enable-JobTrigger cmdlet sets the Enabled property of the job trigger to True ($true).
Enable-ScheduledJob is one of a collection of job scheduling cmdlets in the PSScheduledJob module that is included in Windows PowerShell.
This cmdlet is introduced in Windows PowerShell 3.0.
Parameters
-InputObject<ScheduledJobTrigger[]>
Specifies the job trigger to be enabled. 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 Enable-JobTrigger.
|
Aliases |
none |
|
Required? |
true |
|
Position? |
1 |
|
Default Value |
none |
|
Accept Pipeline Input? |
True (ByValue) |
|
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 Enable-JobTrigger.
Outputs
The output type is the type of the objects that the cmdlet emits.
-
None
This cmdlet does not generate any output.
Notes
-
Enable-JobTrigger does not generate errors or warnings if you enable a job trigger that is already enabled.
Examples
Example 1: Enable a job trigger
This command enables 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 Enable-JobTrigger cmdlet, which enables it.
PS C:\> Get-JobTrigger -Name Backup-Archives -TriggerID 1 | Enable-JobTrigger
Example 2: Enable all job triggers
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 job triggers of the scheduled jobs. Another pipeline operator sends the job triggers to the Enable-JobTrigger cmdlet, which enables them.
PS C:\> Get-ScheduledJob | Get-JobTrigger | Enable-JobTrigger
Example 3: Enable the job trigger of a scheduled job on a remote computer.
This command re-enables the AtLogon 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 AtLogon job triggers. A pipeline operator sends the AtLogon job triggers to the Enable-JobTrigger cmdlets which Enables them.
PS C:\> Invoke-Command -ComputerName Server01 {Get-JobTrigger -Name DeployPackage | Where-Object {$_.Frequency -eq "AtLogon"} | Enable-JobTrigger}
Example 4: Display disabled job triggers
This command displays all disabled job triggers of all scheduled jobs in a table. You can use a command like this one to discover job triggers that might need to be enabled.
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 job triggers of the scheduled jobs. Another pipeline operator sends the job triggers to the Where-Object cmdlet, which returns only job triggers that are disabled, that is, where the value of the Enabled property of the job trigger is not (!) true.
Another pipeline operator sends the disabled job triggers to the Format-Table cmdlet, which displays the selected properties of the job triggers in a table. The properties include a new JobName property that displays the name of the scheduled job in the JobDefinition property of the job trigger.
PS C:\> Get-ScheduledJob | Get-JobTrigger | where {!$_.Enabled} | Format-Table Id, Frequency, At, DaysOfWeek, Enabled, @{Label="JobName";Expression={$_.JobDefinition.Name}}
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
Related topics
about_Scheduled_Jobs
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