【PowerShell】アップデート方法（Windows）

## 環境
+ Microsoft Windows 10.0.22000.318（21H2）
+ Windows PowerShell 5.1.22000.613 5.1.19041.1237 → PowerShell 7.2.0

<details><summary>(2022/04/30 追記) 7.2.2 → 7.2.3 アップデート手順</summary>

<br>後述の[コマンドを実行する方法](#コマンドを実行する方法)と全く同じ。今回は各手順のスクリーンショットを並べている。

```posh:新バージョンのお知らせ
PowerShell 7.2.2
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

   A new PowerShell stable release is available: v7.2.3
   Upgrade now, or check out the release page at:
     https://aka.ms/PowerShell-Release?tag=v7.2.3

```

以下を実行する
```posh:PowerShell
# Github の PowerShell ページからインストーラをダウンロード
Invoke-Expression "& { $(Invoke-RestMethod https://aka.ms/install-powershell.ps1) } -UseMSI"
```
![実行後](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/11db0559-02bc-8d8b-def2-6482f8068314.png)
セットアップ画面が開く
![セットアップ画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/d44ae3bd-b11c-6d83-bc77-a3450ac5c03c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/ef81bb6d-78f1-3dd8-f7ff-6778b45c88d3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/44ca2564-0525-4340-1c28-b6f5acff49d7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/a9d9505f-3b0e-72ae-83b3-29ead2156e48.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/77ae292b-1c23-fbb9-6f03-6fcc97819645.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/016e001d-d8b6-17d9-c252-4466088f0448.png)

以下のコマンドを実行して `PowerShell 7.2.3` と表示されることを確認
```posh:PowerShell
pwsh -version
```
</details>


## アップデート手順
### 1. 最新版のインストール

+ [コマンドを実行](#コマンドを実行する方法)（楽なのでおすすめ）
+ [手動でインストール](#手動でインストールする方法)（複数バージョンを入れたいときにおすすめ）

の２通りの方法を紹介する。

#### コマンドを実行する方法

PowerShell を管理者権限で開く -> 以下のコードをコピペして実行
> 2022/04/30 追記
管理者権限で開かなくても実行できることを確認。（PowerShell 7.2.2 -> 7.2.3）

```posh:PowerShell
# Github の PowerShell ページからインストーラをダウンロード
Invoke-Expression "& { $(Invoke-RestMethod https://aka.ms/install-powershell.ps1) } -UseMSI"
```

セットアップ画面が開く
![セットアップ画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/d44ae3bd-b11c-6d83-bc77-a3450ac5c03c.png)

「[2. セットアップ](#2-セットアップ)」に進む

#### 手動でインストールする方法
 [こちら](https://github.com/PowerShell/PowerShell/releases)から最新版（Latest と書かれているもの）で拡張子が`msi`のものをダウンロード（2021/12/02現在は[PowerShell-7.2.0-win-x64.msi](https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/PowerShell-7.2.0-win-x64.msi)）

32bit版 -> x86
64bit版 -> x64
![スクリーンショット (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/d5e9aa11-6e1b-8eaa-60df-c3f68f79215f.png)
インストーラーを起動

### 2. セットアップ

「Next」をクリックし続ける。「Optional Actions」については、以下を参考にする。

<details><summary>Optional Actions について</summary>

![Optional Actions](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1946472/aeadcf8d-d318-633d-31eb-68fba7fecf2e.png)
**Add PowerShell to Path Environment Variable**：環境変数に PowerShell のパスを追加する
**Register Windows Event Logging Manifest**：Windows のイベントビューアに PowerShell を登録する（問題があった時にイベントビューアでログを確認できる）
**Enable PowerShell remoting**：リモート処理を有効化する（sshなどのリモート処理を使う場合は有効化）
**Add ‘Open here’ context menus to Explorer**：エクスプローラの右クリックメニューに PowerShell を追加する
**Add 'Run with PowerShell 7' context menu for PowerShell files**：PowerShell ファイルの右クリックメニューに「Run with PowerShell 7（PowerShell 7 で実行）」を追加する
</details>

## バージョン確認
PowerShell で以下のコマンドを実行してバージョン確認する

```posh:PowerShell
$PSVersionTable
```
以下のように出力される（PSVersion の値を確認）

```posh
Name                           Value
----                           -----
PSVersion                      7.2.0
PSEdition                      Core
GitCommitId                    7.2.0
OS                             Microsoft Windows 10.0.22000
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
```

:::note
バージョン確認は以下のコマンドでも可能
```posh:PowerShell
pwsh -version
```
:::

## 参考
https://docs.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2

https://buralog.jp/powershell-upgrade-latest-version-windows-10/

http://blog.powershell-from.jp/?p=2228