Get-ScheduledJob
Get-ScheduledJob [[-Id] <Int32[]>] [<CommonParameters>]
Get-ScheduledJob [-Name*] <String[]> [<CommonParameters>]
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.
Parameters
-Id <Int32[]>
- Default value is None
- Accepts pipeline input False
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.
-Name <String[]>
- This value is required
- Default value is None
- Accepts pipeline input False
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.
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.
Inputs
NoneOutputs
Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinitionExamples
-
Get all scheduled jobs:
PS C:\> Get-ScheduledJob
This command gets all scheduled jobs on the local computer.
-
Get scheduled jobs by name:
PS C:\> Get-ScheduledJob -Name *Backup*, *Archive*
This command 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 scheduled jobs on remote computers:
PS C:\> Invoke-Command -ComputerName (Get-Content Servers.txt) {Get-ScheduledJob}
This command gets all scheduled jobs on the computers that are listed in the Servers.txt file. The command uses the Invoke-Command cmdlet to run a Get-ScheduleJob command on each computer.
-
Pipe scheduled jobs to other cmdlets:
PS C:\> Get-ScheduledJob DailyBackup, WeeklyBackup | Get-JobTrigger
This command gets the job triggers of the DailyBackup and WeeklyBackup scheduled jobs. It uses the Get-ScheduledJob cmdlet to get the scheduled jobs and the Get-JobTrigger cmdlet to get the job triggers of the scheduled jobs.
Additional 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.
This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.
PowerShell Commands