single.php

PowerShellをバージョンアップしたのにWindows PowerShellが更新されない

PowerShellのインストーラーを使って、バージョンアップしてもWindows Terminalに表示されるWindows PowerShellが更新されない理由を投稿します。

Windows PowerShellとPowerShell

Windows Terminalを起動すると、既定値では[Windows PowerShell]が表示され[新機能と改善のために 最新の PowerShell をインストールしてください]とメッセージが出る場合があります。

実際にバージョンを確認すると[5.1]になっています。

メッセージ通りに[Windows PowerShell 5.1 から PowerShell 7 への移行]からインストーラーをダウンロードして最新バージョンのPowerShellに更新しても、Windows Terminalで表示されるバージョンは変わりません。

理由は[Windows PowerShell 5.1 から PowerShell 7 への移行]でインストールするPowerShellは、[PowerShell]で[Windows PowerShell]ではないからです。

[設定]画面で確認

Windows Terminalの[設定|コマンドライン]で2つのPowerShellの呼び出し先が異なるのが分かります。

[設定]画面の[Windows PowerShell]のコマンドラインは[%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe]になっています。

それに対して[PowerShell]のコマンドライン設定は[”C:\Program Files\PowerShell\7\pwsh.exe”]になっています。

[PowerShell]画面で確認すると、更新したバージョンと一致します。

つまり、[Windows PowerShell 5.1 から PowerShell 7 への移行]で更新されるのはPowerShellです。

Windowsでは複数のPowerShellを別々に管理できるので複数のバージョンのPowerShellを扱うことが可能になっています。

また、Windows Terminalで最新バージョンのPowerShellを利用するには[Windows PowerShell]から[PowerShell]に切り替えておく必要があります。

まとめ

PowerShellのインストーラーを使って、バージョンアップしてもWindows Terminalに表示されるWindows PowerShellが更新されない理由について書きました。

Windowsで実行されるPowerShellには[Windows PowerShell]と[PowerShell]の2種類があります。

Windows PowerShell 5.1 から PowerShell 7 への移行]からダウンロード可能なインストーラーで更新されるPowerShellは、Windows PowerShellとは別で管理されているため、Windows Terminalの既定値で表示される画面とのバージョンに差異が発生するのが原因です。

PowerShellの更新時にWindows Terminalの表示と一致しない場合の参考になれば幸いです。

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です