PowerShellはバージョンによって使えるコマンドや挙動が変わるため、自分の環境でどのバージョンが動いているかを把握しておくことはとても重要です。
特にインターネット上の解説で「PowerShell 7が必要です」などと書かれている場合、自分の環境との違いが分からないとトラブルの原因になります。
ここではPowerShellのバージョンを確認する基本的な方法から、Windowsの種類やエディションごとの考え方、スクリプトでの活用方法まで順番に整理していきます。
PowerShellのバージョンを確認する基本手順5ステップ
まずは初心者でも迷わず実行できるように、PowerShellのバージョンを確認する代表的な手順を五つに分けて整理します。
ここで紹介する方法を一通り押さえておけば、Windows PowerShellでもPowerShell 7でも、どの環境でも自信を持ってバージョンを読み取れるようになります。
それぞれの手順は難しいものではないので、実際に画面を操作しながらゆっくり試してみてください。
PowerShellを起動する手順
最初にPowerShellのバージョンを確認するには、当然ですがPowerShellを起動するところから始めます。
Windows 10やWindows 11ではスタートボタンをクリックして検索欄に「PowerShell」と入力することで、Windows PowerShellやPowerShell 7を簡単に探せます。
最近の環境では「ターミナル」アプリからPowerShellのタブを開く形式になっていることも多いので、タブ名に「Windows PowerShell」や「PowerShell」と表示されているかも合わせて確認しておきましょう。
PSVersionTableで詳細情報を確認する
最も基本的で標準的なバージョン確認方法が、PowerShellの自動変数である「$PSVersionTable」を参照する手順です。
PowerShellの画面で「$PSVersionTable」と入力してEnterキーを押すと、表形式でさまざまなバージョン情報が一覧表示されます。
その中の「PSVersion」という行がPowerShell本体のバージョンを表しているので、ここに表示されている数字を確認すれば現在のバージョンを把握できます。
PSVersionだけを素早く知る方法
毎回表全体を見るのではなく、PowerShellのバージョンだけを素早く知りたい場合もよくあります。
そのようなときは「$PSVersionTable.PSVersion」と入力して実行すると、必要なバージョン情報だけを簡潔に表示できます。
同様に「Get-Host | Select-Object Version」のようなコマンドを使うと、ホスト側のバージョン情報を取得できるため、環境によって使い分けると便利です。
PowerShell 7でバージョンを確認する方法
PowerShell 7がインストールされている環境では、コマンドプロンプトや別のシェルから「pwsh –version」を実行してバージョンを確認することもできます。
この方法はPowerShellを対話的に開かなくても一行でバージョンを知ることができるので、自動化スクリプトの中で簡易的にチェックしたいときにも役立ちます。
もちろんPowerShell 7のコンソールを開いてから「$PSVersionTable」や「$PSVersionTable.PSVersion」を実行して、より詳しいバージョン情報を確認することも可能です。
古いPowerShellかどうかを見分ける目安
表示されたバージョンが古いかどうかを判断するためには、少なくともメジャーバージョンの数字を読む習慣をつけておくと安心です。
現在主流なのはWindows PowerShell 5.1やPowerShell 7系のバージョンなので、メジャーバージョンが5や7であれば大きく古すぎるということはありません。
一方でメジャーバージョンが2や3のように明らかに古い数字になっている場合は、最新の機能が使えない可能性が高いのでアップデートを検討した方が良いでしょう。
Windows環境でのPowerShellのバージョン確認のコツ
同じPowerShellでも、Windows 10とWindows 11では起動方法や初期設定の画面が少しずつ異なるため、最初に戸惑う人も少なくありません。
ここではWindowsのバージョンごとに、PowerShellの起動からバージョン確認までの流れを整理し、よくあるつまずきポイントもあわせて紹介します。
自分の環境に近い手順から順番に試していくと、迷わず目的の情報にたどり着けるはずです。
Windows 11でPowerShellを起動する流れ
Windows 11では標準で「ターミナル」アプリが用意されているため、そこからPowerShellを起動するのがもっともスムーズです。
タスクバーのスタートボタンを右クリックすると、メニューの中に「ターミナル」や「Windowsターミナル」が表示されていることが多いので、まずはそこから開いてみましょう。
ターミナルが起動したらタブの一覧からPowerShellのタブを選び、通常どおりのPowerShell画面が表示されたことを確認してからバージョン確認コマンドを入力します。
- スタートボタンを右クリック
- メニューからターミナルを選択
- ターミナルのタブ一覧からPowerShellを選択
- PowerShell画面でバージョン確認コマンドを実行
Windows 10でPowerShellを起動する流れ
Windows 10では、従来どおりスタートメニューから直接Windows PowerShellを起動するパターンが多く残っています。
スタートメニューを開き、アプリの一覧や検索欄から「Windows PowerShell」もしくは「PowerShell 7」を探してクリックすると、それぞれのコンソールが起動します。
どちらのコンソールからでも「$PSVersionTable」などのコマンドを実行すればバージョン情報を確認できるので、普段使っている方を基準に手順を覚えておくと便利です。
- スタートメニューを開く
- アプリ一覧や検索欄からPowerShellを探す
- Windows PowerShellまたはPowerShell 7を選択
- 起動したコンソールでバージョンを確認
ターミナルアプリでシェルを選ぶポイント
最近のWindowsでは、ひとつのターミナルアプリの中から複数のシェルを切り替える構成になっているため、どのタブがどのPowerShellに対応しているかを理解しておくことが大切です。
ターミナルのタブ名やアイコン、プロファイル名を見れば、Windows PowerShellなのかPowerShell 7なのか、あるいはコマンドプロンプトなのかを見分けることができます。
混乱を避けるために、よく使うプロファイルだけを残したり、名前を分かりやすく変更したりしておくと、日々の作業がぐっと快適になります。
| 項目 | 確認したい内容 |
|---|---|
| タブ名 | Windows PowerShellかPowerShellかの識別 |
| プロファイル名 | 既定で起動するシェルの種類 |
| アイコン | PowerShellかコマンドプロンプトかの判別 |
| タイトルバー | 現在のシェルとパスの表示 |
PowerShellエディション別のバージョン確認の注意点
PowerShellにはWindowsに標準で入っているWindows PowerShellと、クロスプラットフォームで動作するPowerShell 7系という二つの大きな系統があります。
どちらも「PowerShell」という名前で呼ばれるため混同しやすいのですが、バージョン確認のときにはエディションの違いを意識しておくことが重要です。
ここではエディションごとの特徴と、混在環境でバージョンを読み違えないためのポイントを整理します。
エディションごとの特徴の概要
Windows PowerShellはWindowsに組み込まれている従来型のPowerShellで、通常はバージョン5.1までが提供されています。
一方でPowerShell 7はオープンソースとして提供される新しい系統で、WindowsだけでなくmacOSやLinuxでも同じように動作するのが大きな特徴です。
どちらも同じマシンにインストールして併用できるため、バージョン確認の際にはどのエディションを見ているのかを意識する必要があります。
| エディション | 主な特徴 |
|---|---|
| Windows PowerShell | Windowsに標準搭載される従来系統 |
| PowerShell 7 | クロスプラットフォーム対応の最新系統 |
| 共存可否 | 同一マシン上での併用が可能 |
| インストール元 | OS標準や公式配布サイトなど |
PSEditionでエディションを見分ける
「$PSVersionTable」の中には「PSEdition」という項目があり、ここを見ることで現在のセッションがどのエディションで動いているかを確認できます。
一般的にWindows PowerShellでは「Desktop」、PowerShell 7では「Core」といった値が表示されるため、エディションの見分けにとても役立ちます。
バージョンとエディションをセットで把握しておくと、他の環境で同じスクリプトが動くかどうかを判断しやすくなります。
- PSVersionでバージョン番号を把握
- PSEditionでエディション種別を確認
- 両方を見て環境の特徴を整理
混在環境でのバージョン確認の進め方
Windows PowerShellとPowerShell 7が同じマシンにインストールされている場合、それぞれのコンソールから別々にバージョンを確認する必要があります。
ショートカット名や実行ファイル名によって起動するエディションが変わるため、「powershell」から起動したのか「pwsh」から起動したのかを意識して使い分けてください。
どのエディションを基準に開発や運用を行うのかを事前に決めておくと、チーム内での認識のズレやトラブルを減らすことができます。
スクリプト実行時のバージョン判定テクニック
日常的にPowerShellのスクリプトを作成していると、実行環境のバージョンによって処理を変えたり、古いバージョンでは実行を止めたりしたくなる場面が出てきます。
そのようなときには、スクリプトの中でバージョンを判定するロジックを組み込んでおくと、安全に運用しやすくなります。
ここでは実務でよく使われるバージョン判定の考え方と、環境ごとの使い分けのコツを紹介します。
PSVersionを条件分岐に使う考え方
スクリプトの中でバージョンを扱うときは、「$PSVersionTable.PSVersion」のMajorやMinorなどのプロパティを参照するのが基本です。
たとえばメジャーバージョンが7以上かどうかを条件に分岐させれば、古いWindows PowerShellでは実行しないように制御できます。
このようにバージョン情報を明示的に条件分岐に組み込んでおくと、将来的に環境が増えたときも柔軟に対応しやすくなります。
スクリプト先頭に書くバージョン確認例
より安全に運用するためには、スクリプトの先頭で必ずバージョンを確認し、条件を満たさない場合は早めに処理を終了させるパターンがおすすめです。
こうしておくことで、対応していない環境でスクリプトが途中まで実行されて中途半端な状態になるリスクを減らせます。
チームで共有するスクリプトほど、このような防衛的な書き方をしておくと安心です。
- 必要な最小バージョンをコメントで明示
- PSVersionのMajorとMinorを取得
- 条件を満たさない場合は警告を表示して終了
- 条件を満たす場合のみ本処理を実行
OS別に使い分けるバージョン確認コマンド
PowerShell 7はWindowsだけでなくmacOSやLinuxでも動作するため、OSごとに適したバージョン確認コマンドを把握しておくと、マルチプラットフォームの運用が楽になります。
どのOSでも「$PSVersionTable」自体は同じように使えますが、シェルから直接呼び出すときのコマンドは少しずつ異なります。
代表的なパターンを押さえておき、環境ごとに使い分けると覚えやすくなります。
| 環境 | 代表的な確認コマンド |
|---|---|
| Windows | pwsh –versionや$PSVersionTableの実行 |
| macOS | ターミナルでpwsh –versionを実行 |
| Linux | シェルでpwsh –versionを実行 |
PowerShellのバージョンが古い場合の対処
バージョンを確認してみた結果、想定よりも古い環境だった場合には、すぐにアップデートすべきなのか、それとも現状維持すべきなのかを慎重に判断する必要があります。
特に企業環境では他のシステムとの兼ね合いもあるため、単純に最新バージョンにすればよいとは限りません。
ここではPowerShellのバージョンが古かったときに考えたい選択肢と、実務的な落としどころを整理します。
Windows PowerShell 5.1からの移行方針
Windows PowerShell 5.1を使っている場合、多くの環境ではそのままでも最低限の運用には耐えられますが、新機能を活用したい場合にはPowerShell 7への移行も視野に入ってきます。
ただし既存スクリプトの互換性や運用ルールを考えると、一気に置き換えるのではなく、まずは一部の業務から段階的に移行する形が現実的です。
移行を進める前に、どの業務をどのエディションで動かすかの方針を整理しておくと、混乱を最小限に抑えられます。
| ポイント | 確認しておきたい内容 |
|---|---|
| 既存スクリプト | どのエディションで動作保証されているか |
| 新規開発 | どのエディションを前提に開発するか |
| 運用ルール | どの場面でどのエディションを使うか |
| 検証環境 | 移行前にテストできる環境の有無 |
バージョンアップ前に整理しておきたい事項
PowerShellをアップデートする前には、変更によって影響を受ける範囲をできるだけ丁寧に洗い出しておくことが重要です。
特にスケジュールされたタスクや自動実行されているスクリプトは、バージョン変更によって思わぬ影響が出る可能性があります。
事前に関係者と情報を共有し、万が一のときにすぐに元に戻せる体制を作っておくと安心です。
- 定期実行されているスクリプトの一覧
- 外部システムとの連携部分の有無
- 管理者権限で動作する処理の確認
- ロールバック手順やバックアップの準備
更新が難しい環境での現実的な選択肢
業務システムとの依存関係などからPowerShellを簡単には更新できない環境では、現状のバージョンを前提に安全に運用する工夫が必要になります。
そのような場合でも、バージョン確認を徹底しておけば、外部から持ち込んだスクリプトをそのまま実行してしまうようなリスクを減らすことができます。
可能であれば検証用のマシンやテスト環境で新しいバージョンを試し、将来の移行に備えて情報を蓄積しておくとよいでしょう。
PowerShellのバージョン確認の要点整理
PowerShellのバージョン確認は「$PSVersionTable」や「$PSVersionTable.PSVersion」といった基本コマンドを押さえておけば、難しい作業ではありません。
ただしWindows PowerShellとPowerShell 7が同じマシンで共存しているケースも多いため、どのエディションのどのバージョンを見ているのかを意識することが重要です。
日頃からバージョン確認の手順を習慣化し、スクリプトの先頭でバージョンを判定する仕組みを組み込んでおけば、環境の違いに振り回されることなく安心してPowerShellを活用できるようになります。

