Reputation: 15
I would like to edit scheduled task via PS but i can't pass the variable as argument to New-ScheduledTaskTrigger. I tried with "time = "02:40 AM"" and "$time = [datetime]"02:40 AM""
$time = "02:40 AM"
Invoke-Command -ComputerName "pc01" -ScriptBlock {$Task = Get-ScheduledTask -TaskName R
$trigger = New-ScheduledTaskTrigger -Daily -At $time
Set-ScheduledTask -Trigger $trigger -TaskName R
}
I receive following error: Cannot convert null to type "System.DateTime".
Thank you for any help.
Upvotes: 0
Views: 938
Reputation: 61158
Inside the scriptblock, the variable $time
is unknown, so you muste either use the using:
scope like this:
$time = [datetime]"02:40 AM"
Invoke-Command -ComputerName "pc01" -ScriptBlock {
$trigger = New-ScheduledTaskTrigger -Daily -At $using:time
Get-ScheduledTask -TaskName 'R' | Set-ScheduledTask -Trigger $trigger
}
Or add a param()
block inside the scriptblock and give the time via the -ArgumentList
parameter
Invoke-Command -ComputerName "pc01" -ScriptBlock {
param($time)
$trigger = New-ScheduledTaskTrigger -Daily -At $time
Get-ScheduledTask -TaskName 'R' | Set-ScheduledTask -Trigger $trigger
} -ArgumentList "02:40 AM"
Upvotes: 1