Scope
- Windows Task Scheduler® jobs can be migrated to JS7.
- SOS provides a PowerShell script that creates JS7 workflows, calendars and schedules from Windows Task Scheduler® jobs.
PowerShell Cmdlet
- Download the PowerShell cmdlet: ConvertFrom-WindowsTaskScheduler.ps1
- The PowerShell cmdlet can be used with Windows PowerShell FullCLR 5.1 and PowerShell CoreCLR 6.x and 7.x for Windows environments. It can be used for JS7 releases 2.x.
Name
ConvertFrom-WindowsTaskScheduler
SYNOPSIS
Converts jobs from the Windows Task Scheduler® to JS7.
SYNTAX
ConvertFrom-WindowsTaskScheduler [-AgentName <String>] [[-TaskName] <String>] [[-TaskPath] <String>] [[-OutputDirectory] <String>] [[-Timezone] <String>] [<CommonParameters>]
DESCRIPTION
The job configuration from Windows Task Scheduler® is converted to JSON files holding workflows, calendars and schedules that can be imported and deployed to JS7.
The script writes JSON files to an output directory and creates a .zip archive for import to the JS7. Users can import and deploy workflows, schedules and calendars.
JSON file names are created from the Windows Task Scheduler® task names.
PARAMETERS
AgentName
-AgentName <String>
Specifies the name of an Agent that should execute the converted jobs. Typically this will be an Agent running on the Windows machine from which jobs are converted.
Required? | true |
Position? | 1 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
TaskName
-TaskName <String>
Specifies an individual job to be converted. Note that job names are not unique with Windows Task Scheduler®. When used with the -TaskPath parameter then a single job can be selected.
Without this parameter all jobs are converted.
Required? | false |
Position? | 2 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
TaskPath
-TaskPath <String>
Specifies the path in the Windows Task Scheduler® repository from which jobs should be converted.
Without this parameter jobs from all paths are converted.
Required? | false |
Position? | 3 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
OutputDirectory
-OutputDirectory <String>
Specifies the output directory for converted jobs.
If the directory is not specified then a temporary directory is created and is removed after conversion of jobs.
Required? | false |
Position? | 4 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
Timezone
-Timezone <String>
Accepts the name of a Joda time zone, see http://joda-time.sourceforge.net/timezones.html
The script does not convert dates according to this time zone, instead the specified time zone is added to the settings of workflows and schedules. Note that JS7 Controller, Agents and JOC Cockpit can be operated in a time zone that is different from the time zone that the Windows Task Scheduler® is operated for.
Required? | false |
Position? | 5 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
EXAMPLES
-------------------------- EXAMPLE 1 --------------------------
PS > ConvertFrom-WindowsTaskScheduler -AgentName windowsAgent -TaskPath \Microsoft\Windows\Defrag\ -TaskName ScheduledDefrag -ArchivePath C:/tmp/js7-import.zip
Converts the job ScheduledDefrag
from the specified folder and writes the JSON files to a temporary directory that is added to the C:/tmp/js7-import.zip
archive for import in JS7.
-------------------------- EXAMPLE 2 --------------------------
PS > ConvertFrom-WindowsTaskScheduler -AgentName windowsAgent -TaskPath \ -OutputDirectory C:/tmp/jobs -ArchivePath C:/tmp/js7-import.zip
Converts jobs available in the root folder of Windows Task Scheduler® and writes the JSON files to the c:/tmp/jobs
directory that is added to the indicated .zip archive.
-------------------------- EXAMPLE 3 --------------------------
PS > ConvertFrom-WindowsTaskScheduler -AgentName windowsAgent -TaskName ScheduledDefrag -OutputDirectory C:/tmp/jobs
Converts job(s) with the given name from any folder and writes the JSON files to the c:/tmp/jobs
directory that is implicitly added to the js7-import.zip
archive file in the working directory.
-------------------------- EXAMPLE 4 --------------------------
PS > ConvertFrom-WindowsTaskScheduler -AgentName windowsAgent -Timezone 'Europe/London' -OutputDirectory C:/tmp/jobs -ArchivePath C:/tmp/js7-import.zip
Converts all jobs from any folders and writes the JSON files to the c:/tmp/jobs
directory that is added to the C:/tmp/js7-import.zip
archive file for import in JS7.
The specified Joda time zone is added to the workflows and schedules of converted jobs.
Limitations
- Triggers for monthly job execution are not converted as there is no public API for this trigger type.
- Actions of Windows Task Scheduler® jobs are mapped to a single JS7 job script.
- For cyclic jobs in JS7, repetitions have to occur within a 24 hours period. Windows Task Scheduler® knows about repetitions that exceed this period.