尝试创建计划任务时出现PowerShell错误?无法处理参数“Argument”上的参数转换

tnkciper  于 2023-08-05  发布在  Shell
关注(0)|答案(1)|浏览(124)

我正在尝试创建一个在系统启动时运行的计划任务。我使用以下代码在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


我尝试了各种报价和不报价的排列。我做错了什么?

eufgjt7s

eufgjt7s1#

$args是powershell的保留关键字。为变量使用其他名称。
更多

相关问题