为什么 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。
我尝试在 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。