Powershell:任务调度程序schtasks无法启动

时间:2015-11-02 18:08:39

标签: powershell scheduled-tasks schtasks.exe schtasks


我在powershell脚本中使用schtasks在远程服务器上运行特定的计划任务。脚本非常简单:

$server = "myserver"
$task = "mytask"
schtasks /Run /S $server /TN $task

一切正常,直到我决定在运行任务后绘制一条线:

$server = "myserver"
$task = "mytask"
schtasks /Run /S $server /TN $task
for ($i=0 ; $i -lt 90 ; $i++) { write-host -NoNewline "-" }
write-host "-"

在这种情况下,脚本将正确运行三次,然后它将永远不再运行任务,除非我从一个新的PowerShell窗口运行它。

结果如下:

PS C:\temp> .\runtask.ps1
SUCCESS: Attempted to run the scheduled task "mytask".
-------------------------------------------------------------------------------------------
PS C:\temp> .\runtask.ps1
SUCCESS: Attempted to run the scheduled task "mytask".
-------------------------------------------------------------------------------------------
PS C:\temp> .\runtask.ps1
SUCCESS: Attempted to run the scheduled task "mytask".
-------------------------------------------------------------------------------------------
PS C:\temp> .\runtask.ps1
-------------------------------------------------------------------------------------------
PS C:\temp> .\runtask.ps1
-------------------------------------------------------------------------------------------
PS C:\temp>

一些观察:
- 脚本正常运行的次数取决于行中的破折号 - 服务器和任务是否存在无关紧要。如果它们不存在,则会显示错误“未找到网络路径”三次尝试,然后在下次尝试时显示除了该行之外的任何内容。
- 当没有显示任何内容时,schtasks实际上不会运行任务。该任务的第一件事是在应用程序事件日志中添加一个事件。发生SUCCESS时会创建事件。当schtasks什么都不显示时,不会创建任何事件
问题是:在显示短划线时,如何使脚本正常工作?

0 个答案:

没有答案