尝试创建计划任务时出现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错误?无法处理参数“参数”的参数转换的主要内容,如果未能解决你的问题,请参考以下文章

尝试从批处理文件运行 PowerShell 命令时出现错误

将脚本作为计划任务运行时出现“找不到路径”

创建 Luigi 任务图时出现 JSON 序列化错误

尝试使用 Azure CLI 创建 Web 应用时出现限制错误

在PowerShell中运行时在php中查找目录时出现错误消息

尝试使用匕首刀柄的代码时出现此错误,错误:[Hilt] java.lang.reflect.InvocationTargetException(无错误消息)