尝试创建计划任务时出现Powershell错误?无法处理参数“参数”的参数转换
Posted
技术标签:
【中文标题】尝试创建计划任务时出现Powershell错误?无法处理参数“参数”的参数转换【英文标题】:Powershell error while trying to create Scheduled Task? Cannot process argument transformation on parameter 'Argument' 【发布时间】:2021-12-16 08:00:18 【问题描述】:我正在尝试创建一个在系统启动时运行的计划任务。我正在使用以下代码在 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
,那么它运行得很好,没有错误,并且任务按预期显示在任务计划程序中。这就是那行代码的样子:
$Action= New-ScheduledTaskAction -Execute $sendEmailCommand
我尝试了各种引号排列,但没有引号。我做错了什么?
【问题讨论】:
【参考方案1】:$args
是 powershell 保留关键字。为变量使用其他名称。
更多here
【讨论】:
以上是关于尝试创建计划任务时出现Powershell错误?无法处理参数“参数”的参数转换的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 Azure CLI 创建 Web 应用时出现限制错误
在PowerShell中运行时在php中查找目录时出现错误消息
尝试使用匕首刀柄的代码时出现此错误,错误:[Hilt] java.lang.reflect.InvocationTargetException(无错误消息)