HOME > Job系コマンドレット > Receive-Job
Receive-Job
Receive-Jobは、ジョブの結果を取得するコマンドです。
エイリアスrcjb
解説
バックグラウンドジョブの結果を取得するために使用します。
ジョブオブジェクト、ジョブID、ジョブ名から結果を取得できます。
構文
- (構文)
- Receive-Job [-Job] <Job[]> [[-Location] <string[]>] [<CommonParameters>] Receive-Job [-Job] <Job[]> [[-ComputerName] <string[]>] [<CommonParameters>] Receive-Job [-Job] <Job[]> [[-Session] <PSSession[]>] [<CommonParameters>] Receive-Job [-Name] <string[]> [<CommonParameters>] Receive-Job [-InstanceId] <guid[]> [<CommonParameters>] Receive-Job [-Id] <int[]> [<CommonParameters>]
パラメータ | 説明 |
---|---|
-Job オブジェクト | 結果を取得するジョブオブジェクトを指定する |
-ComputerName 名前 | 結果を取得するジョブが実行されたコンピュータ名を指定する |
-Location 場所 | 結果を取得するジョブが実行された場所を指定する ※コンピュータ名やセッション名など |
-Session セッション | 結果を取得するジョブが実行されたPowerShellセッションを指定する |
-Keep | ジョブの結果をメモリに保持する ※このパラメータを使用しないと結果は取得後に削除される (例)Receive-Job -Id 5 -Keep |
-NoRecurse | 子ジョブの結果を取得しない |
-Force | 強制的に結果を取得する |
-Wait | ジョブが完了するまで待機してから結果を取得する (例)Receive-Job -Id 5 -Wait |
-AutoRemoveJob | ジョブの結果を取得した後に自動的にジョブを削除する (例)Receive-Job -Id 5 -AutoRemoveJob |
-WriteEvents | ジョブのストリームイベントを書き込む (例)Receive-Job -Id 5 -WriteEvents |
-WriteJobInResults | 結果にジョブオブジェクトを含める |
-Name ジョブ名 | ジョブ名を指定して結果を取得する ※ワイルドカードも使用可 (例)Receive-Job -Name "Job*" |
-InstanceId GUID | 結果を取得するジョブのインスタンスID(GUID)を指定する |
-Id ジョブID | ジョブIDを指定して結果を取得する (例)Receive-Job -Id 3 |
共通的なパラメータは「共通パラメータ」をご覧ください。
サンプル
開始したジョブの結果を受け取る
$job = Start-Job -ScriptBlock { Get-Process }
Start-Sleep -Seconds 1
Receive-Job -Job $job
複数のジョブの結果を受け取る
$job1 = Start-Job -ScriptBlock { Get-Process }
$job2 = Start-Job -ScriptBlock { Get-Service }
Start-Sleep -Seconds 1
Receive-Job -Job $job1, $job2
タイムアウトを設定してジョブの結果を受け取る
$job = Start-Job -ScriptBlock { Start-Sleep -Seconds 30 }
Receive-Job -Job $job -Timeout 10
コマンドのヘルプを表示する
Get-Help Receive-Job
備考
- ジョブがまだ実行中の場合は結果を取得することはできないため、事前に状態を取得したのちに結果を取得するようにしてください。
- Receive-Jobを実行するとデフォルトではジョブの結果が削除されるため、結果を削除したくない場合は -Keepパラメータを使用して結果を保持してください。
関連項目
- Job系コマンドレット
- Get-Job:ジョブの情報を取得する
- Start-Job:ジョブを開始する
- Stop-Job:ジョブを終了する
- Wait-Job:ジョブの停止を待機する
- Receive-Job:ジョブの結果を取得する
- Remove-Job:ジョブを削除する
- Debug-Job:ジョブをデバッグする