Powershell 7.0.3(LTS), 7.1(stalable) のインストール

##PowerShellって ?
以前からあったコマンドプロントをもっと便利にしたものですね。
コマンド処理の自動化の幅が大きく広がります。

以下[wikipedia](https://ja.wikipedia.org/wiki/PowerShell)より引用
>マイクロソフトが開発した拡張可能なコマンドラインインターフェイス (CLI) シェルおよびスクリプト言語である。オブジェクト指向に基づいて設計されており、.NET Framework (Windows PowerShell 5系以前) あるいは.NET Core (PowerShell Core 6系以降) を基盤としている。

###複雑な歴史
WIndows10に標準搭載されているPowerShell2.0を起点にさかのぼると、

|バージョン|リリース|備考|
|:-:|:-:|:-:|
|**Windows PowerShell 2.0**|2009年|Windows7以降標準搭載|
|**Windows PowerShell 3.0**|2012年|Windows8標準搭載|
|**Windows PowerShell 4.0**|2013年|Windows8.1標準搭載|
|**Windows PowerShell 5.0**|2015年|Windows10標準搭載|
|**Windows PowerShell 5.1**|2016年|CoreEditionが登場し分岐してDesktopEditionに|

ときて、枝分かれしオープンソース化しLinux/OS X 上でも動作する PowerShell Core Edition が
登場し、これまでのPowerShellはDesktopEditionという扱いに。

| バージョン | リリース | 備考 |
|:-:|:-:|:-:|
|**PowerShell Core 6.0**|2016年|.NET Core2.0を使用|
|**PowerShell Core 6.1**|2018年|Windows10標準搭載|
|**PowerShell Core 6.2**|2019年||

そして現在 (2020年11月) の

* **PowerShell Core 7.0(LTS)**　.NET 3.1を使用
* **PowerShell Core 7.1(stalable)**　.NET5正式リリスと.NET Core廃止に伴い.NET5をサポート

でWindowsCoreベースのものを正としPowerShellと呼び名を変え、旧来PowerSHell非推奨に至ります。
LTSの長期保証版(7.0系)を使用するかStalableの安定版(7.1系)を使用するかは利用環境によります。
.NET5の環境での開発・運用を進める場合は7.1の利用になると思いますが、バージョンを上げず既存環境を維持する場合は7.1がLTSになるまでは7.0のままでもよいかもしれません。

###現状のWindows標準搭載のPowershell
Windows10にはPowerShell2.0がデフォルトでインストールされていますが、
2017年の記事だが[「Windows PowerShell 2.0」は非推奨に ～「Windows 10 Fall Creators Update」から](https://forest.watch.impress.co.jp/docs/news/1077301.html) によると
Powershell2.0は非推奨となっています。

今回はWindows10よりPowershell2.0を削除し、最新のPowershellをインストールする方法になります。

##PowerShell2.0のアンインストール
1. スタートメニューから設定アプリを開き、アプリをクリックします。
1. 画面右上のプログラムと機能をクリックします。
1. 画面左のWindowsの機能の有効化または無効化をクリックします。
![2020-11-15 (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/3fc66805-e46f-4879-ea10-76b093a8ca19.png)
1. リスト内の WindowsPowerShell2.0 のチェックボックスを外してOKボタンを押します。
1. 完了メッセージが表示され閉じるボタンを押します。再起動の必要はありません。
![2020-11-15 (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/03ed5b05-9c5e-e560-e74a-b39e6d0c8631.png)
![ss_winfunc_comp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/240d241d-3d61-3c35-155a-62a63b1d72f1.png)

##新しいPowerShellをインストール
PowerShell 7 は [GitHub](https://github.com/PowerShell/PowerShell#get-powershell) より入手可能です。
7.0.3(LTS)Windows(x64)は以下のmsiファイルをクリックしてインストーラーをダウンロードします。
![画像8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/51619598-4d51-d9a2-e239-995ee1f5a8e0.png)
　　PowerShell-7.0.3-win-x64.msi
というファイルがダウンロードされます。

7.1(stalabe)Windows(x64)は以下のmsiファイルをクリックしてインストーラーをダウンロードします。
![powershell1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/524866d9-5776-5a24-15b8-4cb42e0c36c2.png)
　　PowerShell-7.1-win-x64.msi
というファイルがダウンロードされます。

インストーラをダブルクリックして実行します。
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/7214c9de-7757-6cee-4821-945a4459874d.png)
次へ（Next）
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/3d53dd45-0889-3e7e-d15c-bb652a5e2d05.png)
次へ（Next）

Enable Powershell remotingとAnd'Open here' context menes to Explorer
にもチェックを入れて次へ(Next)。ほかのチェック項目は自由。

7.0.3(LST)では以下の画面
![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/277b13fb-bfe4-8b7f-3ade-3fb675076f7a.png)

7.1(stalable)では以下の画面になります。
![powershell2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/504a28c4-e424-3088-fd8e-376378df093a.png)

![画像6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/004377c8-15a2-435d-1979-e0561622b260.png)

Finishを押してインストール終了です。

次にPowerShellをスタートメニューからか、先の最後の画面でLaunchPowerShellにチェックをいれて起動します。
7.0.3(LST)では以下の画面

コンソール内に出力されたバージョンが
　PowerShell 7.0.3
![画像7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/f1fb5518-7e9f-fa6a-2d53-743fb2789bb6.png)

7.1(stalable)では以下の画面になります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/ba1a00f9-e3d6-933f-b9e6-090e39fbc1a1.png" width=56%>

コンソール内に出力されたバージョンが
　PowerShell 7.1

なら正常にインストールできています。

##おまけ
Windows10にはPowerShell5.0(5.1)とISEが残っています。
まず、ISEを消したい場合、設定 → アプリと機能で表示される画面から「オプション機能」をクリック
![2020-11-15 (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/707260/b5ce96e2-ebca-40b5-2acb-60ae6c0c5597.png)
「Windows PowerShell Integrated Scripting Environment」をアンインストールします。

OSを再起動します。
これでもスタートメニューのショートカットに残骸が残ってしまうので、手動で削除します。

残りのPowerShell5.0はまだ消し方がわからない(削除しちゃだめなのかも）ので、
とりあええず、私は環境変数のPATHからPowerShell5.0を指しているものを消して対応しています。
なぜかパスは、
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
と1.0となってますが中身は5.0か5.1です。