PowerShell を最新版にコマンド一発で更新する方法

この記事の内容

  • Windows 10/11 に標準搭載されている Windows PowerShell 5.1 のバージョン確認方法を紹介します
  • 新しい PowerShell(バージョン 7 系)への移行・更新をコマンド一発で行う方法を解説します
  • Invoke-Expression を使った自動インストールコマンドの使い方を説明します
  • Windows Terminal で既定プロファイルを新しい PowerShell に切り替える手順も紹介します

現在の PowerShell バージョンを確認する

Windows Terminal などで PowerShell を起動すると、「新規機能と改善のために最新の PowerShell をインストールしてください」というメッセージが表示されることがあります。これは、現在使用している PowerShell が古いバージョンであることを示しています。

現在のバージョンは以下の変数で確認できます。

$PSVersionTable

Windows 10 や Windows 11 を標準のままお使いの場合、PowerShell のバージョンは 5.1 になっていることが多いです。これは Windows に同梱されているバージョンであり、最新の PowerShell(7 系)とは別のものです。


コマンド一発で最新版にアップデートする

MSI インストーラーを手動でダウンロードして実行する方法もありますが、以下のコマンド一行で最新版の PowerShell を自動的にインストールすることができます。

Invoke-Expression "& { $(Invoke-RestMethod https://aka.ms/install-powershell.ps1) } -UseMSI"

このコマンドは Invoke-ExpressionInvoke-RestMethod を組み合わせて、Microsoft の公式スクリプト(install-powershell.ps1)をダウンロードし、最新の MSI インストーラーを取得・実行します。

コマンドを実行するとセットアップ画面が表示されますので、「次へ」を進めるだけでインストールが完了します。


インストール後の確認

インストールが完了したら、一度 PowerShell を閉じて再度開きます。新しい PowerShell(例:7.2.x など)が起動していれば、インストール成功です。


Windows Terminal の既定プロファイルを変更する

Windows Terminal を使用している場合、既定で起動するプロファイルを新しい PowerShell に切り替えることができます。

  1. Windows Terminal の設定を開く
  2. 「既定のプロファイル」を Windows PowerShell から PowerShell(新しい方)に変更する
  3. 保存する

この設定を行うことで、次回以降は最新版の PowerShell が自動的に起動するようになります。


今後のアップデートにも同じコマンドが使える

PowerShell 7 系を使っていても、さらに新しいバージョンが公開されると再び「古くなった」というメッセージが表示されることがあります。その際も、先ほどと同じコマンドを再実行するだけで最新版に更新できます。すでに最新版が入っている場合は何もせずに終了します。


まとめ

Windows に標準搭載されている PowerShell 5.1 から、最新の PowerShell 7 系への移行は Invoke-Expression を使ったコマンド一行で簡単に行えます。また、今後のバージョンアップ時にも同じコマンドを使い回せるため、覚えておくと便利です。Windows Terminal の既定プロファイルを新しい PowerShell に変更しておくことで、毎回快適に最新版を使えるようになります。