Goal: To create a Scheduled Task trigger on user logon with a repetition and a duration.
Example 01:
$ac = New-ScheduledTaskAction -Execute {write-host 'TEST'}
$tr = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Minutes 30)
$ta = Register-ScheduledTask -TaskName "Test01" -Trigger $tr -Action $ac
This works fine.
Example 02:
$ac = New-ScheduledTaskAction -Execute {write-host 'TEST'}
$tr = New-ScheduledTaskTrigger -AtLogOn -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Minutes 30)
$ta = Register-ScheduledTask -TaskName "Test02" -Trigger $tr -Action $ac
This don't work.
Example 03:
$ac = New-ScheduledTaskAction -Execute {write-host 'TEST'}
$tr = New-ScheduledTaskTrigger -AtLogOn
$ta = Register-ScheduledTask -TaskName "Test03" -Trigger $tr -Action $ac
$ta.Triggers.Repetition.Duration = "PT30M"
$ta.Triggers.Repetition.Interval = "PT5M"
$ta | Set-ScheduledTask
This works fine. But do you really need to create it first then update it to get it work? Can't you do it directly like in example 2?