我正在尝试创建一个定时任务,运行一个带有1个参数的Powershell脚本 - 这是在安装了Powershell v5的Server 2012上。到目前为止,我已经能够让任务运行,但它无法识别我的参数值 - 我调用的脚本中该值为空。这是我创建定时任务的代码:
$TicketTime = "9:00pm"
$EmpID = "1234"
$Firstname = "Test"
$Lastname = "User"
$Action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "-ExecutionPolicy ByPass -File C:\Scripts\Term.ps1 -EmpID '$EmpID'"
$Trigger = New-ScheduledTaskTrigger -Once -At "03/29/2016 $TicketTime"
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings (New-ScheduledTaskSettingsSet)
$Task | Register-ScheduledTask -TaskName "$Firstname $Lastname" -User "myuser" -Password "mypass"
这段代码可以正常执行,但是无法识别-EmpID参数。我还尝试将Argument值改为-Command,但是结果仍然相同。
-ExecutionPolicy ByPass -Command "& C:\Scripts\Term.ps1 -EmpID 1234"
在参数周围使用单引号似乎也没有任何作用。
-ExecutionPolicy ByPass -Command "& C:\Scripts\Term.ps1 -EmpID '1234'"
到目前为止,我做的任何操作都无法传递参数。我错过了什么?