为什么 windows 调度程序上的自定义任务不执行..?

why custom tasks on windows scheduler do not execute..?

我尝试在 windows 任务调度程序中创建一个任务,我在其中将触发器设置为某个特定时间。但即使时间过去,任务也不会被触发。 我的任务总是显示我的状态 "Ready",即使在预期的时间显示 "Ready" 而不是 "Running" 为什么会这样,如果有任何方法可以使用 powershell 让我知道。

我已经在远程计算机上的 powershell commandlet 的帮助下创建了计划任务。

    $Session = New-PSSession -ComputerName $ComputerName -Credential $cr            
    Invoke-Command -Session $Session -ScriptBlock { $start = (Get-Date).AddMinutes(1).ToString("HH:mm:ss")

   [string]$Result = schtasks /create /tn "bittry1" /tr" $PSHome\powershell.exe Start-BitsTransfer -Source D:\a.exe -Destination C:\ -Asynchronous " /sc once /st $start /ru "Administrator" /rp "passw0rd@12"
   $Result
   }

据我所知,您正试图用它调用 Powershell.exe 和 运行 Start-BitsTransfer -Source D:\a.exe -Destination C:\ -Asynchronous

如果是这种情况,您需要使用 -command 参数。另外我建议只调用 Powershell 而不是 $PSHome\Powershell.exe.

最后,与其在一分钟内创建到 运行 的任务,不如创建它并立即强制它到 运行。

   $Session = New-PSSession -ComputerName $ComputerName -Credential $cr            
   Invoke-Command -Session $Session -ScriptBlock {
       [string]$Result = schtasks /create /tn "bittry1" /tr "powershell -command {Start-BitsTransfer -Source D:\a.exe -Destination C:\ -Asynchronous} " /sc once /SD "01/01/2000" /ST "00:00:00" /ru "Administrator" /rp "passw0rd@12"
       $Result += schtasks /run /tn "bittry1"
       $Result
   }

您可能会放弃 +1 分钟的时间表,我认为修复其他位应该可以让它发挥作用,但我发现这有点死板。

如果这不能解决问题,您应该尝试手动创建完全相同的任务,然后查看是否 运行s。