Get-ScheduledJob

Gets scheduled jobs on the local computer.

Syntax

Get-ScheduledJob
   [[-Id] <Int32[]>]
   [<CommonParameters>]
Get-ScheduledJob
   [-Name] <String[]>
   [<CommonParameters>]

Description

The Get-ScheduledJob cmdlet gets scheduled jobs on the local computer. Get-ScheduledJob gets only scheduled jobs that are created by the current user using the Register-ScheduledJob cmdlet.

Although jobs that are created by using the Register-ScheduledJob cmdlet appear in Task Scheduler, Get-ScheduledJob gets only scheduled jobs. It does not get scheduled tasks created in Task Scheduler.

Without parameters, Get-ScheduledJob gets all scheduled jobs on the computer. You can use the parameters of Get-ScheduledJob to get scheduled jobs by ID or name and examine them or pipe them to other cmdlets.

Get-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: Get all scheduled jobs

This example gets all scheduled jobs on the local computer.

Get-ScheduledJob

Example 2: Get scheduled jobs by name

This example gets all scheduled jobs on the computer that have names that include Backup or Archive. This command format lets you search for particular jobs.

Get-ScheduledJob -Name *Backup*, *Archive*

Example 3: Get scheduled jobs on remote computers

This example gets all scheduled jobs on the computers that are listed in a text file.

Invoke-Command -ComputerName (Get-Content Servers.txt) {Get-ScheduledJob}

The command uses the Invoke-Command cmdlet to run a Get-ScheduleJob command on each computer.

Example 4: Pipe scheduled jobs to other cmdlets

This example gets the job triggers of specified scheduled jobs

Get-ScheduledJob DailyBackup, WeeklyBackup | Get-JobTrigger

It uses the Get-ScheduledJob cmdlet to get the scheduled jobs and pipes them to the Get-JobTrigger cmdlet to get the job triggers of the scheduled jobs.

Parameters

-Id

Gets only the scheduled jobs with the specified identification number (ID). Enter one or more IDs of scheduled jobs on the computer. By default, Get-ScheduledJob gets all scheduled jobs on the computer.

Type:Int32[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Gets only the scheduled jobs with the specified names. Enter one or more names of scheduled jobs on the computer. Wildcards are supported. By default, Get-ScheduledJob gets all scheduled jobs on the computer.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

You cant pipe objects to this cmdlet.

Outputs

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

This cmdlet returns the definition of a scheduled job.

Notes

  • Each scheduled job is saved in a subdirectory of the $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs directory on the local computer. The subdirectory is named for the scheduled job and contains the XML file for the scheduled job and records of its execution history. For more information about scheduled jobs on disk, see about_Scheduled_Jobs_Advanced.
  • Scheduled jobs that you create in Windows PowerShell appear in Task Scheduler in the Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs folder. You can use Task Scheduler to view and edit the scheduled job.
  • You can use Task Scheduler, the SchTasks.exe command-line tool, and the Task Scheduler cmdlets to manage scheduled jobs that you create with the Scheduled Job cmdlets. However, you cannot use the Scheduled Job cmdlets to manage tasks that you create in Task Scheduler.