PowerShell ジョブが進行状況を報告したり、完了する前にイベントをトリガーしたりする方法はありますか? PowerShell でバックグラウンド ジョブの実行をいじり始めたばかりで、この機能をどこまでプッシュできるか疑問に思っています。
3577 次
2 に答える
10
標準的な "手動" の方法は、Get-Job コマンドレットを使用することです。イベントに関しては、Start-Job でジョブを作成すると、返された Job オブジェクトに「StateChanged」イベントが含まれており、次のようにサブスクライブできます。
$job = Start-Job { Get-Process; Start-Sleep -seconds 60 }
Register-ObjectEvent $job -EventName StateChanged `
-SourceIdentifier JobStateChanged `
-Action { Write-Host "Job $($Sender.Id) $($Sender.JobStateInfo)" }
于 2009-09-08T14:10:17.383 に答える
2
ローカルまたはリモート ジョブ内から独自のカスタム イベントを発生させ、ローカル セッションでそれらに対処することもできます。
于 2009-09-14T16:27:36.963 に答える