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-Expression と Invoke-RestMethod を組み合わせて、Microsoft の公式スクリプト(install-powershell.ps1)をダウンロードし、最新の MSI インストーラーを取得・実行します。
コマンドを実行するとセットアップ画面が表示されますので、「次へ」を進めるだけでインストールが完了します。
インストール後の確認
インストールが完了したら、一度 PowerShell を閉じて再度開きます。新しい PowerShell(例:7.2.x など)が起動していれば、インストール成功です。
Windows Terminal の既定プロファイルを変更する
Windows Terminal を使用している場合、既定で起動するプロファイルを新しい PowerShell に切り替えることができます。
- Windows Terminal の設定を開く
- 「既定のプロファイル」を Windows PowerShell から PowerShell(新しい方)に変更する
- 保存する
この設定を行うことで、次回以降は最新版の PowerShell が自動的に起動するようになります。
今後のアップデートにも同じコマンドが使える
PowerShell 7 系を使っていても、さらに新しいバージョンが公開されると再び「古くなった」というメッセージが表示されることがあります。その際も、先ほどと同じコマンドを再実行するだけで最新版に更新できます。すでに最新版が入っている場合は何もせずに終了します。
まとめ
Windows に標準搭載されている PowerShell 5.1 から、最新の PowerShell 7 系への移行は Invoke-Expression を使ったコマンド一行で簡単に行えます。また、今後のバージョンアップ時にも同じコマンドを使い回せるため、覚えておくと便利です。Windows Terminal の既定プロファイルを新しい PowerShell に変更しておくことで、毎回快適に最新版を使えるようになります。