もくじ
現行バージョンの確認
まずは現行バージョンの確認をします。
バージョン確認するためのコマンドは以下の通りです。
$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”へ書き換えるのが面倒くさい場合は、以下の手順でおおよそ対応できるかと思います。
環境変数に基づいた呼び出しを変更する
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)の扱いが非常に面倒だったのですが、それが楽になったのが一番嬉しかったです。
同じような点でお困りの方は是非、アップデートをしてみてください。