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>] [[-ArchivePath] <String>] [[-CalendarName] <String>] [[-Timezone] <String>] [<CommonParameters>]
DESCRIPTION
The job configuration from Windows Task Scheduler® is converted to JSON files which can be imported and deployed to JS7.
This includes to create a workflow JSON file and a schedule JSON file per converted job. JSON file names are created from the Windows Task Scheduler® task names.
The cmdlet adds JSON files to a .zip archive which can be imported to JS7.
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 |
CalendarName
-CalendarName <String>
Specifies the name of a common calendar for converted jobs in the JS7 inventory. All converted jobs use the same calendar.
If the directory is not specified then a temporary directory is created and is removed after conversion of jobs.
Required? | false |
Position? | 5 |
Default value | EveryDay |
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 specified time zone is added to the run-time settings of jobs. Consider that JS7 might be operated in a time zone which is different from the time zone that the Windows Task Scheduler® is operated for.
Required? | false |
Position? | 6 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
EXAMPLES
-------------------------- EXAMPLE 1 --------------------------
PS > ./ConvertFrom-WindowsTaskScheduler.ps1 -AgentName windowsAgent -TaskPath \Microsoft\Windows\Defrag\ -TaskName ScheduledDefrag -OutputDirectory C:/tmp/jobs
Converts the job from the specified path and writes the JSON files to the C:/tmp/jobs
directory. Converted jobs are available for import from the default archive file js7-import.zip
in the current directory.
-------------------------- EXAMPLE 2 --------------------------
PS > ./ConvertFrom-WindowsTaskScheduler.ps1 -AgentName windowsAgent -TaskPath \ -OutputDirectory C:/tmp/jobs
Converts jobs available in the root folder of Windows Task Scheduler® and writes the JSON files to the C:/tmp/jobs
directory.
-------------------------- EXAMPLE 3 --------------------------
PS > ./ConvertFrom-WindowsTaskScheduler.ps1 -AgentName windowsAgent -Timezone 'Europe/London' -CalendarName DailyCalendar -OutputDirectory C:/tmp/jobs
Converts all jobs from any folders and writes the JSON files to the C:/tmp/jobs
directory. The specified Joda time zone is added to the run-time settings of converted jobs. The specified calendar is created and assigned the converted jobs.
-------------------------- EXAMPLE 4 --------------------------
PS > ./ConvertFrom-WindowsTaskScheduler.ps1 -AgentName windowsAgent -ArchivePath C:/tmp/js7-import.zip -OutputDirectory C:/tmp/jobs
Converts all jobs from all folders and writes the JSON files to the C:/tmp/jobs
directory. Converted jobs are available from the C:/tmp/js7-import.zip
archive file for import into JS7.
Limitations
- 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.