Kill' Invoke-webrequest'如果需要太长时间

时间:2015-09-02 14:45:46

标签: windows powershell scheduled-tasks invoke-command

我有一个脚本,我用来从互联网上下载文件,

Invoke-WebRequest -Uri MyUrl -websession $session  -outfile $filename 

我将此作为计划任务,每小时运行一小时。在大多数情况下,这非常有效。但是,我发现有时命令会挂起并无法下载文件。有没有办法可以检查命令是否花费了超过一定的时间来运行,如果有,请终止命令并重新开始?

我已经尝试过timeoutsec标志,但它似乎根本不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用powershell作业。示例逻辑:

  • 开始工作
  • 使用Get-Job循环检查作业的状态一段时间。
  • 如果工作时间过长,请致电Stop-Job
  • 如果作业完成,请致电接收作业

读: Using Windows Powershell Jobs