PowerShell 5.1 から 7.2 へのアップデート

現行バージョンの確認

まずは現行バージョンの確認をします。
バージョン確認するためのコマンドは以下の通りです。

PowerShell
$PSVersionTable

下の画像では、PowerShellを外部アプリケーションから呼び出した際、どのバージョンが呼ばれているのか確認する為、コマンドプロンプトからPowerShellを起動しています。
PowerShell起動後、バージョン確認のコマンドを入力します。

PSVersionに現在のPowerShellのバージョン番号が表示されています。
この画像だと、5.1です。

インストーラーのダウンロード

インストーラーを、Githubからダウンロードします。
私はMcrosoftのDocsに直リンクがありましたので、そちらからダウンロードしました。
32bitと64bitの両方ありますので、自分PCの環境に合わせてダウンロードしましょう。

インストール

セットアップウィザードの起動
インストール先の設定
オプションの設定
  • Add PowerShell to Path Environment Variable
    環境変数の”Path”にPowerShellのパスを追加する
  • Register Windows Event Logging Manifest
    Windows イベントログに登録する
  • Enable PowerShell remoting
    リモート操作を有効にする
  • Add ‘Open here’ context menus to Explorer
    エクスプローラーのコンテキストメニューに’Open here’を追加する
  • Add ‘Run with PowerShell 7’ context menu for PowerShell files
    PowerShellのファイル(.ps1など)のコンテキストメニューに”Run with PowerShell 7″を追加する
コンテキストメニューとは

右クリックした際に表示されるメニュー一覧のことです

アップデートの設定
  • Enable updating PowerShell through Microsoft Update or WSUS
    PowerShell を Windows Update 経由でアップデート出来るようにする
  • Use Microsoft Update when I check for updates (recommended)
    Microsoft Update で他のプログラムのアップデートも有効にする
インストール前の確認
インストール中
インストール完了!

インストール後の注意点

PowerShell ISEはサポートされていない!

“PowerShell ISE”は、バージョン6以降はサポートされていないとのこと。
代わりにVisual Studio Codeが開発ツールとして使われているようです。

EXEのファイル名がpowershell.exeから変わっている

PowerShell 5.1 ではEXEの名称は“powershell.exe”でしたが、PowerShell 7.2 では“pwsh.exe”に変わっています。

また、インストール先が5.1と7.2では異なるため、共存状態となっており、今まで通り5.1が使えます。
そのため、外部アプリケーションから5.1を起動して使っていたものを、7.1が起動されるようにしたいといった場合は、上の画像のコマンドプロンプトのようにpwshで起動するか、次の手順が必要になります。

“powershell”で7.2を起動できるようにする

あまり推奨しないのですが…

もう5.1を使う予定が無かったり、外部アプリケーション側からの呼び出しを”pwsh”へ書き換えるのが面倒くさい場合は、以下の手順でおおよそ対応できるかと思います。

環境変数に基づいた呼び出しを変更する

pwsh.exeをリネーム

7.2 のインストール先にある”pwsh.exe”のファイル名を”powershell.exe”へリネームします。
直接書き換えても良いですが、私は念のため、コピーして名前を変更しました。

パスを変更する

インストールした際に「Add PowerShell to Path Environment Variable」にチェックを入れていれば、環境変数に7.2のパスが追加されています。
5.1のパスを7.2のパスより後に移動させることにより、7.2のパスのpowershellを参照することになります。
もう二度と5.1使わない!といった場合は、5.1のパスを削除しても良いと思います。

「ファイル名を指定して実行」での呼び出しを変更する

「ファイル名を指定して実行」でPowerShellを呼び出すときは、レジストリに登録されているエイリアスを変更します。
「レジストリ エディター」を開き、以下のパスの値を7.2のパスへ変更します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\PowerShell.exe

おしまい!

仕事でアップデートが必要になったので、チャレンジしてみたのですが、非常に簡単な手順できました。
5.1の時はファイルのエンコーディング(BOMなしUTF8)の扱いが非常に面倒だったのですが、それが楽になったのが一番嬉しかったです。
同じような点でお困りの方は是非、アップデートをしてみてください。

コメントを残す

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

CAPTCHA