[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでエラー情報を確認する|$Errorの見方

📝 はじめに

PowerShellでコマンドやスクリプトを実行していると、
「なぜ失敗したのか分からない」「エラー内容をもう一度確認したい」
と感じる場面は少なくありません。

そんなときに役立つのが $Error です。
これはPowerShellに用意されているエラー履歴を保持する自動変数で、
発生したエラーの詳細情報を後から確認できます。

💡 こんなときに便利

  • 直前に発生したエラー内容を確認したい
  • エラーメッセージをコピーして調査したい
  • スクリプトのデバッグをしたい
  • 同じエラーが何度も出ているか確認したい

✅ この機能でできること(要点)

  • $Error で発生したエラー履歴を確認できる
  • 最新のエラーから順に保存されている
  • エラーの詳細情報(例外・原因)を確認できる
  • トラブルシュートやデバッグに役立つ

✅ $Errorでできること

$Error は、PowerShellセッション内で
発生したエラーを配列として保持する変数です。

  • 直前に発生したエラーの内容を確認する
  • 過去のエラー履歴を一覧で確認する
  • エラーの種類や詳細情報を調べる
👉
エラーが画面から流れてしまっても、$Errorを見れば後から確認できます。

🧩 基本的な見方

まずは、エラー履歴をそのまま表示してみます。

$Error

これまでに発生したエラーが、最新のものから順に表示されます。

▶ 基本的な使い方(まずこれだけ)

📄 直前のエラーを確認する

$Error[0]

配列の先頭([0])には、
最新のエラーが格納されています。

📘 複数のエラーを一覧で確認する

$Error | Select-Object -First 5

直近5件のエラーをまとめて確認できます。

🛠 よく使われる確認方法

🧱 エラーの詳細情報を確認する

$Error[0] | Format-List *

例外の種類やスタックトレースなど、
より詳しい情報を確認できます。

📖 エラーメッセージだけを確認する

$Error[0].Exception.Message

エラーの要点だけを素早く把握したい場合に便利です。

💼 実務でよく使う使用例(応用)

🤔 スクリプトのデバッグに使う

スクリプト実行後にエラーが出た場合、
$Errorを使うことで原因の切り分けがしやすくなります。

✅ よくある流れ

  • スクリプトを実行
  • エラー発生
  • $Error[0] で詳細確認

🔄 エラー履歴をリセットする

$Error.Clear()

古いエラーを消して、新しいエラーだけを確認したい場合に使います。

🧩 よくある勘違い・つまずきポイント

  • $Errorは現在のPowerShellセッション内だけ有効
  • すべてのエラーが必ず$Errorに入るとは限らない
  • 大量のエラーがあると見づらくなる
  • 非致命的エラーも含まれる

⚠ エラー確認がうまくいかないときのチェックポイント

  • 新しいセッションを開いていないか
  • $ErrorをClearしてしまっていないか
  • エラーが警告扱いになっていないか

🧠 注意点

$Errorは非常に便利ですが、内容はセッション終了とともに失われます。
永続的に残したい場合は、ログ出力やTranscriptとの併用がおすすめです。

📌 まとめ

  • $ErrorはPowerShellのエラー履歴を確認するための自動変数
  • 直前のエラーは $Error[0] で確認できる
  • デバッグやトラブルシュートで必須の知識

🔎 PowerShellコマンドを探す

PowerShellには、エラー確認やトラブル対応に役立つ機能が他にもあります。

  • エラーの原因を詳しく調べたい
  • 実行ログを記録したい
  • スクリプトを安全に実行したい
  • PowerShellの基本を体系的に学びたい
🔎 検索フォーム
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る