当サイトではアフィリエイト広告を利用しています。

【Windows】PowerShellを起動したら「最新の PowerShell をインストールしてください」が出たから更新してみた!

なんかPowerShellを開いたらこんなメッセージが出てきたので、最近のPowerShell事情について紹介します!

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\WINDOWS\system32>

このメッセージの安全性と内容

そのそも、このPowerShellに出てくるこのメッセージは安全なのか?といったことですが、結論、「安全」です!

Windows 10/11にはPowerShell 5.1というバージョンが標準で入っているんですけど、2020年にPowerShell 7系がリリースされ、2023年8月ごろからインストールを促すメッセージが出始めました。

Microsoftは2023年に入ってから、「Windows PowerShell 5.1 は既に保守フェーズであり、今後の開発・新機能はすべて PowerShell 7 系へ移行します」という方針が出したので新機能を使いたい場合はPower Shell 7を使う必要があります。

標準のPowerShellは危険になる!?
新しいPowerShellをインストールしなければいけないのか?

「インストールしてください!」ってメッセージが出てきたときにセキュリティ等を考えると新しくする必要があるのではないか!?とも思いますが、標準でインストールされているPowerShellは新機能の開発をストップするだけでサポート自体は続くので、そのまま使用して問題ありません

こんな焦らすような書き方しなくてもいいのに…

そもそもOSに標準搭載されているソフトはOSのサポート期間中である限りは同様にサポートされるので問題ありません。

しかし、新しいPowerShellをインストールしたからと言って標準のPowerShellに出てくるメッセージは消えるというものでもありません。
なので、このメッセージは標準のPowerShellを使っている限りずっと表示され続けることとなるでしょう…

新しいPowerShellをインストールしたら古い方はどうなるの?

メッセージ通りに最新のPowerShellをインストールしたら、標準搭載されている古いPowerShellはアップグレードされてしまうのではないか?と思いますが、現新で共存可能です。

標準搭載されているPowerShellは「Windows PowerShell」という名前で表示され、新しいPowerShellは「PowerShell 7」という名前で表示されるのでPowerShellではあるもののアップグレードされるのではなく全く異なるソフトをインストールするイメージです。

比較項目 PowerShell 5.1 PowerShell 7
ソフト名 Windows PowerShell PowerShell 7
実行ファイル powershell.exe pwsh.exe
アイコン

提供元 Windows標準(OSの一部) 独立ソフト(手動導入)
共存 可能 可能
主な用途 Windows管理 新規開発・クロス環境

全く別物ですね!

どっちのPowerShellを使えばいいの?

新PowerShellをインストールしたとして、結局どちらを普段使えばいいの?といった疑問が残ると思いますが、、、

PowerShellをPowerShellらしく違和感無く使いたいのであれば、標準のPowerShellを使う方がいいと思います。

新PowerShellのインストール方法

  1. 出てきたメッセージに記載されているURLをコピーして、ブラウザでアクセスします。
    https://aka.ms/PSWindows
  2. WinGet – Windows クライアントに PowerShell をインストールするための推奨される方法」の方法の通り、PowerShellで下記のコマンドを実行します。
    winget search Microsoft.PowerShell

    はじめてwingetコマンドを使った際は下記のようなメッセージが出ますがMicroStoreを使う際にソース契約条件の同意を求めているだけなので「Y」と入力すれば問題ありません。

    'msstore' ソースでは、使用する前に次の契約を表示する必要があります。
    Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
    ソースが正常に機能するには、現在のマシンの 2 文字の地理的リージョンをバックエンド サービスに送信する必要があります (例: "US")。
    すべてのソース契約条件に同意しますか?
    [Y] はい [N] いいえ:

    出力結果

    名前 ID バージョン ソース
    ------------------------------------------------------------------
    PowerShell Microsoft.PowerShell 7.5.4.0 winget
    PowerShell Preview Microsoft.PowerShell.Preview 7.6.0.5 winget
  3. 上記のように出力されることが確認できたら、あとは以下の中で興味のあるPowerShellを選んでインストールすればOKです!
    すべて共存可能なので、5.1(標準),7(新),7-preview(テスト)の最大3種類のPowerShellを入れた状態を作れます!

    1. PowerShell7 正式版のインストール
      最新の安定版 PowerShell7のインストールする場合は下記のコマンドを実行します。
      【インストール実行】

      winget install --id Microsoft.PowerShell --source winget

      【実行結果(インストール成功)】

      見つかりました PowerShell [Microsoft.PowerShell] バージョン 7.5.4.0
      このアプリケーションは所有者からライセンス供与されます。
      Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
      ダウンロード中 https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-x64.msi
      ██████████████████████████████ 107 MB / 107 MB
      インストーラーハッシュが正常に検証されました
      パッケージのインストールを開始しています...
      インストールが完了しました

      正式版のインストール完了です!
      タスクバーのWindowsマークを押下すると、おすすめのところにPowerShell 7が出ていると思います!

    2. PowerShell7 プレビュー版のインストール
      新機能を先行体験したい人や開発者向けの次期バージョンのテスト版 PowerShell7をインストールする場合は下記のコマンドを実行します。
      【インストール実行】

      winget install --id Microsoft.PowerShell.Preview --source winget

      【実行結果(インストール成功)】

      見つかりました PowerShell Preview [Microsoft.PowerShell.Preview] バージョン 7.6.0.5
      このアプリケーションは所有者からライセンス供与されます。
      Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
      ダウンロード中 https://github.com/PowerShell/PowerShell/releases/download/v7.6.0-preview.5/PowerShell-7.6.0-preview.5-win-x64.msi
      ██████████████████████████████ 108 MB / 108 MB
      インストーラーハッシュが正常に検証されました
      パッケージのインストールを開始しています...
      インストールが完了しました

      プレビュー版のインストール完了です!
      タスクバーのWindowsマークを押下すると、おすすめのところになんか毒々しいアイコンのPowerShell 7-previewが出ていると思います!

動作確認

インストールしたPowerShellを実行すると今までは、PowerShellという画面が起動されますが、新PowerShellを起動するとターミナルが起動され、その中でPowerShell7やプレビュー版を表示します。

ターミナルでは複数のCLI画面をタブで管理できるので、以下のように複数のタブで3種類のPowerShellを管理することも可能です!