【发布时间】:2016-03-29 23:11:11
【问题描述】:
我正在尝试创建一个计划任务,该任务将运行带有 1 个参数的 Powershell 脚本 - 这是在安装了 Powershell v5 的 Server 2012 上。到目前为止,我已经能够让任务运行,但它无法识别我的参数值 - 我正在调用的脚本中的值为 null。这是我必须创建的计划任务:
$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 参数。我也尝试了 -Command 而不是 -File 作为参数值,但我得到了相同的结果。
-ExecutionPolicy ByPass -Command "& C:\Scripts\Term.ps1 -EmpID 1234"
参数周围的单引号似乎也没有任何作用
-ExecutionPolicy ByPass -Command "& C:\Scripts\Term.ps1 -EmpID '1234'"
到目前为止,我所做的一切都不会让参数通过。我错过了什么?
【问题讨论】:
标签: windows powershell