【问题标题】:Powershell error while trying to create Scheduled Task? Cannot process argument transformation on parameter 'Argument'尝试创建计划任务时出现Powershell错误?无法处理参数“参数”的参数转换
【发布时间】: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

我尝试了各种引号排列,但没有引号。我做错了什么?

【问题讨论】:

    标签: powershell scheduled-tasks taskscheduler windows-task-scheduler


    【解决方案1】:

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

    更多here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-31
      • 2021-05-22
      • 2015-01-21
      • 2022-01-12
      • 2015-05-14
      • 2021-11-22
      • 2014-02-26
      • 1970-01-01
      相关资源
      最近更新 更多