PowerShellでは、環境によって利用できるコマンドや機能が異なるため、自分のPowerShellが何バージョンなのかを正確に把握することは非常に重要です。
特に、**Windows PowerShell(5.1)とPowerShell 7(PowerShell Core)**は内部構造が異なるため、確認方法を知らないと混乱しがちです。
この記事では、
-
PowerShellのバージョン確認方法の一覧
-
Windows PowerShell と PowerShell 7 の違い
-
どの方法で確認するのがベストか
をわかりやすく解説します。
✅ まず結論:最も確実なバージョン確認方法
PowerShellのバージョンを確認する最も確実なコマンドは以下です。
実行すると、メジャーバージョンやクライアント情報が一覧で表示されます。
1. PowerShellのバージョン確認方法(コマンド一覧)
ここでは、実務で必ず使うコマンドを重要度順に解説します。
■ $PSVersionTable(基本&最重要)
表示される主な項目:
| 項目 | 説明 |
|---|---|
| PSVersion | PowerShellのメジャー/マイナーバージョン |
| PSEdition | Desktop(Windows PowerShell) / Core(PowerShell 6/7) |
| GitCommitId | PowerShell Core でのビルド情報 |
| OS | 実行しているOS情報 |
| Platform | Win32NT / Unix |
もっとも正確な情報が得られ、Windows PowerShell と PowerShell 7 の判別も可能です。
■ Get-Host を使う方法(ホストアプリ情報)
HostVersion の欄にバージョンが出ます。
ただし、PowerShell ISE や Visual Studio Code など ホストアプリによって値が変わる場合があるため、バージョン判定としては不正確 です。
➡ 基本的には $PSVersionTable の方が推奨。
■ $Host.Version の省略形
Get-Host のバージョンだけを直接取り出す書き方です。
こちらもあくまで ホストアプリのバージョンなので注意。
■ PowerShell 7 以上限定:pwsh -v
PowerShell 7 を使用している場合のみ利用できます。
Windows PowerShell(5.1)では動作しません。
■ コンソールのタイトルバーで確認(GUI的な方法)
PowerShellを起動したとき、タイトルバーに次のような表示が出る場合があります。
-
Windows PowerShell 5.1
-
PowerShell 7.4.0
ただし環境によって表示が異なるため、確実ではない方法です。
2. Windows PowerShell(5.1)と PowerShell 7 の違い
PowerShellのバージョン確認が重要な理由は、5.1 と 7 系で仕様が大きく異なるためです。
【比較表】Windows PowerShell と PowerShell 7 の主な違い
| 項目 | Windows PowerShell 5.1 | PowerShell 7.x |
|---|---|---|
| 実行ファイル | powershell.exe | pwsh.exe |
| 基盤 | .NET Framework | .NET 6/7(Core) |
| 対応OS | Windowsのみ | Windows / macOS / Linux |
| コマンドの互換性 | 高い | 一部非互換あり |
| モジュール | 古いWindows専用モジュールが多い | 新世代のPowerShell向け |
特に、
-
HULFTのスクリプト
-
ActiveDirectoryモジュール
-
Windows専用モジュール
などを扱う場合は、5.1でないと動かないケースが多いため注意が必要です。
3. どの確認方法を使えばいい?(実務向けまとめ)
| 目的 | 推奨コマンド |
|---|---|
| バージョンの正確な取得 | $PSVersionTable |
| Core か Desktop か判断 | $PSVersionTable.PSEdition |
| PowerShell 7 かだけを確認 | pwsh -v(PowerShell 7の場合) |
| ホスト環境の確認 | Get-Host |
4. よくある質問(FAQ)
■ Q. 自分のPCに PowerShell 5.1 と 7 が両方入っているのは普通?
はい、普通です。
Windows標準は5.1で、最新版の7は別途インストールされます。
■ Q. どちらを使うべき?
-
Windows管理タスクが多い
→ Windows PowerShell(5.1) -
クロスプラットフォーム / 最新のPowerShellを使いたい
→ PowerShell 7
■ Q. PowerShellのバージョンアップはどうする?
PowerShell 7 は winget でアップデート可能。
まとめ
PowerShellのバージョン確認は、環境差異によるトラブルを避けるための最重要ポイントです。
🔍 今日覚えておくべき3つ:
-
基本は
$PSVersionTableを使う -
PowerShell 5.1 と 7 では機能が大きく異なる
-
用途に応じて使うバージョンを選ぶ
この知識があれば、スクリプト実行時の「動かない…なぜ?」を大幅に減らせます。

