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 に答える