我正在尝试创建一个在系统启动时运行的计划任务。我使用以下代码在PowerShell中创建此计划任务。
$Trigger= New-ScheduledTaskTrigger -AtStartup
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute $sendEmailCommand -Argument $args
Register-ScheduledTask -TaskName "Send Restart Notification" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force`
字符串
以下是变量:
$sendEmailCommand = "C:\Test\Test.exe"
$args = "-m smtp.gmail.com -p 587 -u myemail -p mypassword -t my message -o tls=yes -k MyEmailSubject -g recipientEmailAddr"
型
但是,当我运行上面的脚本时,我收到以下错误。
New-ScheduledTaskAction : Cannot process argument transformation on parameter 'Argument'. Cannot convert value to type
型
如果我从包含New-ScheduledTaskAction
的行中删除-Argument
,那么它就可以正常运行,没有任何错误,并且任务会按预期显示在Task Scheduler中。这就是那行代码的样子:
$Action= New-ScheduledTaskAction -Execute $sendEmailCommand
型
我尝试了各种报价和不报价的排列。我做错了什么?
1条答案
按热度按时间eufgjt7s1#
$args
是powershell的保留关键字。为变量使用其他名称。更多