0

我正在创建一个 PowerShell 脚本,我将使用Start-Job. 该作业应该在后台持续运行,直到我告诉它停止使用Stop-Job. 它应该在具有指定持续时间的计时器上执行 SQL 命令,并将结果输出到作业管道,以便我可以使用Receive-Job.

现在作业运行正常,但我没有设置它在初始 SQL 命令执行后继续运行(我没有实现计时器)。

在 PowerShell 作业中实现计时器以使作业连续运行的正确方法是什么?

4

1 回答 1

1

虽然可能不是一个计时器,但我只是使用循环做了类似的事情:

while ($true) {
  "Hello"
  [System.Threading.Thread]::Sleep(1000)
}

您可能需要进一步修改脚本以休眠计算的时间量:

while ($true) {
  $start = [DateTime]::Now
  "Hello"
  $end = [DateTime]::Now
  #computer difference from initial five minute marker (5*60*1000=300000)
  $wait = (5*60*1000) - ($end - $start).TotalSeconds
  if ($wait -gt 0) { [System.Threading.Thread]::Sleep($wait) }
}
于 2009-11-09T23:21:34.127 回答