もくじ
📝 はじめに
PowerShellで Start-Job を使って処理を実行したあと、
「今どんなジョブが動いているのか?」
「処理は終わったのか、それとも失敗しているのか?」
と確認したくなることはありませんか?
そんなときに使うのが、
ジョブの一覧と状態を確認できる
Get-Job です。
この記事では、PowerShellのジョブ管理に欠かせない
Get-Jobの基本的な使い方を解説します。
- バックグラウンド処理の進捗を確認したい
- 完了したジョブと実行中のジョブを見分けたい
- 不要なジョブを整理する前に状態を確認したい
✅ このコマンドでできること(要点)
- 現在存在するジョブの一覧を表示できる
- ジョブの状態(実行中・完了・失敗)を確認できる
- ジョブIDや名前を把握できる
- 後続処理(取得・削除)の判断材料にできる
✅ Get-Job でできること
Get-Job は、
PowerShellセッション内で管理されている
すべてのジョブ情報を取得するコマンドです。
Start-Jobで開始した処理は、
完了しても自動では消えません。
Get-Jobを使うことで、
「今どんなジョブが残っているか」を把握できます。
ジョブ管理の起点になるコマンドです。
🧩 基本構文
Get-Job
引数を付けずに実行すると、
現在のセッションに存在するすべてのジョブが表示されます。
▶ 基本的な使い方(まずこれだけ)
🔹 ジョブ一覧を表示する
Get-Job
JobのID、Name、State(状態)が表示されます。
一覧が表示されていれば、ジョブ情報は正しく取得できています。
🔹 特定のジョブを確認する
Get-Job -Id 1
指定したIDのジョブだけが表示されます。
対象が表示されていれば、ID指定は正しく行えています。
🛠 よく使われる指定例
🔹 状態ごとにジョブを確認する
Get-Job | Where-Object State -eq 'Running'
実行中のジョブだけを抽出できます。
バックグラウンド処理の進捗確認に便利です。
🔹 完了したジョブを確認する
Get-Job | Where-Object State -eq 'Completed'
正常に完了したジョブだけを一覧表示できます。
💼 実務でよく使う使用例(応用)
🔹 失敗したジョブを確認する
Get-Job | Where-Object State -eq 'Failed'
エラーで失敗したジョブを特定できます。
原因調査の第一歩として有効です。
🔹 ジョブ名で管理する
Get-Job -Name BackupJob
ジョブに名前を付けておくと、
後から識別しやすくなります。
- Start-Job で処理開始
- Get-Job で状態確認
- Receive-Job で結果取得
🧩 よくある勘違い・つまずきポイント
- 完了したジョブは自動で消えない
- PowerShellセッションを閉じるとジョブは失われる
- State は実行中以外にも複数ある
- ジョブが増えすぎると管理しづらくなる
🔄 cmdとの違いについて
cmdには、
PowerShellの Get-Job に相当する
ジョブ一覧管理の仕組みはありません。
PowerShellでは、
非同期処理を標準機能として扱える点が大きな特徴です。
⚠ エラー・うまく動かないときの確認ポイント
- 対象のジョブが存在しているか
- ジョブが別セッションで作成されていないか
- State が Failed になっていないか
- PowerShellを再起動していないか
🧠 注意点
ジョブはセッション単位で管理されます。
PowerShellを閉じると、
実行中・完了に関わらずジョブは失われる点に注意しましょう。
📌 まとめ
- Get-Job はジョブ管理の起点となるコマンド
- 実行中・完了・失敗の状態を確認できる
- 後続の Receive-Job / Remove-Job とセットで使う
- 次は Receive-Job で結果取得を行うと理解が深まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- ジョブの状態を確認したい
- バックグラウンド処理を管理したい
