Windows11でPowerShellのバージョンを確認する意味とは?

Windows
記事内に広告が含まれています。

Windows 11を使っていると、解説サイトや社内マニュアルに
「このコマンドは PowerShell 7 以降で動きます」
「Windows PowerShell 5.1 を前提としたスクリプトです」
といった注意書きがよく出てきます。

そんなときに大事になるのが、「今このPCで動いているPowerShellは何バージョンなのか?」という情報です。

PowerShellってそもそも何?

PowerShellは、Windowsでおなじみの「黒い画面」でコマンドを実行するツールの進化版です。
昔からある「コマンドプロンプト」よりも高機能で、スクリプトを書いておけば

  • 毎日のバックアップ
  • ログの整理
  • 設定の一括変更

などを自動化できます。

Windows 11には標準で「Windows PowerShell 5.1」が入っています。
さらに、必要に応じてPowerShell 7 系(いわゆる「PowerShell 7.x」)を追加でインストールして、両方を使い分けることもできます。Microsoft Learn

なぜバージョン確認が大事なの?

PowerShellのバージョンが分かっていると、次のようなメリットがあります。

  • インターネット上のサンプルスクリプトが自分の環境で動くかどうか判断しやすい
  • 不具合が出たときに、社内の詳しい人やネット掲示板やQAサイトに「PowerShell 7.4で発生」など具体的な情報を伝えられる
  • 古いバージョンを使っている場合、アップデートすべきかどうかの判断材料になる

逆にバージョンを知らないままだと、

「記事どおりに打ったのに動かない…」
「同じコマンドなのに、同僚のPCでは動くのに自分のだけエラーが出る」

といったモヤモヤが増えてしまいます。
なので、PowerShellを触るなら「バージョン確認」は早めに覚えておくとラクです。


Windows11でPowerShellを起動する基本手順

まずはPowerShellを起動しないことには何も始まりません。
Windows 11での代表的な起動方法を、初心者向けに3つに絞って紹介します。

1. スタートメニューから起動する

いちばん王道の方法です。

  1. 画面左下の「スタートボタン(Windowsマーク)」をクリック
  2. アプリ一覧の中から「Windows PowerShell」または「Windows Terminal」を探してクリック

Windows Terminalを開いた場合は、タブの横にある▼をクリックして
Windows PowerShell」を選ぶと、PowerShellのタブが開きます。

2. 検索ボックスからサッと起動する

こちらのほうが早いので、慣れるとおすすめです。

  1. Windowsキー(キーボード左下のロゴキー) を1回押す
  2. そのままキーボードで「powershell」と入力
  3. 検索結果に「Windows PowerShell」や「PowerShell」が出てくるので、Enterキーを押す

管理者権限で動かしたいときは、
検索結果のアイコンを右クリックして「管理者として実行」を選びます。

3. スタートボタン右クリック → ターミナル

ショートカット好きな人向けのやり方です。

  1. 画面左下のスタートボタンを右クリック
  2. メニューから「ターミナル」または「ターミナル(管理者)」を選択

ターミナルが開いたら、先ほどと同じくタブの▼から「Windows PowerShell」や「PowerShell」を選択します。


PowerShellのバージョンを確認するコマンド3選

ここから本題です。
PowerShellのバージョンを確認する代表的な方法は、大きく次の3つです。

  1. $PSVersionTable
  2. $PSVersionTable.PSVersion
  3. Get-Host / $Host

順番に見ていきましょう。

① $PSVersionTable で一括確認

いちばん定番で、Microsoft公式でも紹介される方法です。
PowerShellを開いて、次のコマンドを入力してEnterします。

$PSVersionTable

すると、表のような情報がズラッと表示されます。
ポイントはこのあたりです。

  • PSVersion … PowerShell本体のバージョン(例:7.4.0、5.1.22621.4000 など)
  • PSEditionCore(PowerShell 7系)か Desktop(Windows PowerShell 5.1)か
  • OS … 動いているOSの情報(Windowsのバージョンなど)

✅ コツ
表が長すぎて分かりづらい場合は、とりあえず
「PSVersion」と「PSEdition」だけ確認すればOKです。

② バージョンだけ見たいなら $PSVersionTable.PSVersion

毎回長い表を見るのが面倒なときは、バージョンだけ絞って表示させましょう。

$PSVersionTable.PSVersion

これを実行すると、次のようにバージョン情報だけが表示されます。

Major  Minor  Build   Revision
-----  -----  -----   --------
7      4      0       0

あるいは環境によっては

5.1.22621.4391

のように1行で表示されることもあります。

✅ 現場での使いどころ
バージョンをメモしたいときや、調査メモにコピペしたいときは
PSVersion だけを表示させた方がスッキリします。

③ Get-Host / $Host でホスト情報から確認

もう1つよく使われるのが、Get-Host コマンドです。

Get-Host

と実行すると、PowerShellを動かしている“ホストアプリケーション”の情報が出ます。
その中の Version がバージョン番号です。

バージョンだけすばやく知りたいときは、こう書くこともできます。

(Get-Host).Version

似たものに $Host という自動変数もあります。

$Host.Version

🔍 補足
$PSVersionTable は「PowerShell本体」の情報を返すのに対して、
Get-Host / $Host は「ホスト(実行環境)」の情報を返します。
特殊な環境では数字が食い違うこともありますが、通常のWindows 11 + PowerShellでは、ほぼ同じ値と考えて問題ありません。


ついでにOS(Windows11)のバージョンも確認しておこう

PowerShellのバージョンだけ分かっていても、
「Windows側のバージョンが古すぎて機能がない」
というオチもたまにあります。

そこで、OSバージョンもセットで確認する習慣を付けるとトラブルが減ります。

winverで視覚的に確認する

いちばん簡単で、数字が苦手な人にも分かりやすい方法です。

  1. キーボードで Windowsキー + R を押す
  2. 「ファイル名を指定して実行」という小さなウィンドウが出る
  3. winver と入力して Enter

「Windows について」という画面が開き、
Windows 11 のエディション(Home / Proなど)やバージョン番号、OSビルドが表示されます。

PowerShellからOSバージョンを取得するサンプル

せっかくなので、PowerShellからOS情報も取ってみましょう。

systeminfo と findstr を組み合わせる例

systeminfo | Select-String "OS 名","OS バージョン"

または英語環境では、こんな感じになることもあります。

systeminfo | Select-String "OS Name","OS Version"

systeminfo は元々コマンドプロンプト用のコマンドですが、PowerShellからでも実行できます。Microsoft Learn

Get-ComputerInfo を使う例

PowerShellっぽく書くなら、こちらの方がスマートです。

Get-ComputerInfo | Select-Object OsName, OsVersion, WindowsInstallDateFromRegistry

Get-ComputerInfo は、コンピュータ名やOSのバージョンなど、
まとまった環境情報を取得できるコマンドレットです。

✅ ポイント

  • PowerShellのバージョン(PSVersion
  • OSのバージョン(OsVersion など)

この2つをセットでメモしておくと、
後から「いつ、どの環境で試したか」を再現しやすくなります。


バージョン確認後にやっておきたいこと&便利スクリプト

最後に、バージョン確認ができるようになったあとに
「ここまで出来れば初心者卒業かな」というポイントをまとめておきます。

PowerShell 7を入れるべきか問題

Windows 11には標準で「Windows PowerShell 5.1」が入っていますが、
最近の解説記事やサンプルはPowerShell 7系を前提にしているものも増えています。Microsoft Learn+1

ざっくり使い分けるとこんな感じです。

  • PowerShell 5.1(Windows PowerShell)
    • Windowsに標準搭載
    • 既存の社内スクリプトや古いサンプルはだいたいこちら前提
  • PowerShell 7系(PowerShell 7.4 など)
    • 別途インストールして使う
    • クロスプラットフォーム(Windows / Linux / Mac)対応
    • 新しめの機能やモジュールは7系前提のものも多い

会社のルールや既存資産に合わせて、どちらをメインにするか決めましょう。
迷ったら、「今会社で使っているスクリプトが動く方」を優先です。

スクリプトが動かないときのチェックポイント

何かスクリプトを動かしたときにエラーが出たら、
次の3つをまずチェックしてみてください。

  1. PowerShellのバージョン(PSVersion)
  2. Edition(PSEdition:Core / Desktop)
  3. 実行ポリシー(Get-ExecutionPolicy

特にインターネットのサンプルをそのままコピペしたときは、
「PowerShell 7前提なのか」「Windows PowerShell前提なのか」を
一度確認してから実行するクセを付けると、トラブルが減ります。

現場で使える「バージョン表示スクリプト」サンプル

最後に、ログインしたときにサッと環境が確認できる
簡単なスクリプト例を紹介します。

Write-Host "=== PowerShell バージョン情報 ==="
$psInfo = $PSVersionTable
Write-Host ("PSVersion : {0}" -f $psInfo.PSVersion)
Write-Host ("PSEdition : {0}" -f $psInfo.PSEdition)
Write-Host ("OS        : {0}" -f $psInfo.OS)

Write-Host "`n=== Windows 情報(抜粋) ==="
Get-ComputerInfo | Select-Object OsName, OsVersion | Format-List

このスクリプトを .ps1 ファイルとして保存しておき、
必要なときに実行すれば、

  • PowerShell本体のバージョン
  • Edition(Core / Desktop)
  • OSの名前とバージョン

をひと目で確認できます。

さらに慣れてきたら、プロファイルスクリプトに組み込んで
PowerShell起動時に自動で表示させる、なんて小ワザもアリです。


要約・まとめ

この記事で紹介した内容をざっくりまとめると、こんな感じです。

  • Windows 11では、標準の Windows PowerShell 5.1 と、別途インストールする PowerShell 7系 の2種類が存在する
  • バージョン確認の基本コマンドは
    • $PSVersionTable(詳細を一覧で確認)
    • $PSVersionTable.PSVersion(バージョンだけ)
    • Get-Host / $Host(ホスト情報から確認)
  • PowerShellのバージョンだけでなく、winverGet-ComputerInfo
    Windows 11のOSバージョンも合わせて把握しておくとトラブルシュートが楽
  • スクリプトが動かないときは、
    PSVersion / PSEdition / 実行ポリシーを疑うクセをつけると原因にたどり着きやすい
  • 自分用の「バージョン表示スクリプト」を作っておくと、
    どのPCでも同じように環境確認ができて安心

PowerShellは難しそうに見えますが、
まずは「自分のバージョンを知る」というところからスタートすると、
ネットの情報と自分の環境を結びつけやすくなります。

免責規定

この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されている事が実行できない、または異なる結果をもたらす可能性があります。
また、会社所有のパソコン、スマホ、タブレットなどでは、ポリシーや権限によって実行できない場合があります。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。

もし、記事の中で間違いやご指摘があればコメントを頂けると大変ありがたいです。
最後までお読みいただきありがとうございました。
またお会いしましょう!

コメント

タイトルとURLをコピーしました