PowerShell 7.0.1リリース

2020年5月14日(米国時間)、PowerShell 7の初のマイナーアップデートバージョンとなる「PowerShell 7.0.1」が公開された。PowerShell 7を使っているのであれば、このバージョンがリリースされたことには薄々気がついていたのではないだろうか。PowerShell 7.0.0の起動時に、次のスクリーンショットのように「PowerShell 7.0.1」がリリースされたことを知らせる通知メッセージが表示されるようになっていたはずだし、「今すぐにアップデートしてほしい」という旨が書いてあるからだ。

PowerShell 7.0.0がPowerShell 7.0.1のリリース通知とアップデートを促してくる

Microsoftのツールでは、このように自分から新バージョンのリリースとアップデートを促すものはこれまでなかったように思う。このバージョンアップ通知機能は、Windows PowerShellやPowerShell Coreには搭載されていない。PowerShell 7向けの新しい機能だ。

7.0.0から7.0.1へのアップグレード方法

PowerShell 7は、このように新しいバージョンがリリースされたらアップデートしていくという使い方が基本となる。PowerShell 7はWindows PowerShellの後継に位置付けられるが、今後も積極的に開発が行われる計画になっている。常にその新しいバージョンを使ってほしい、というのがMicrosoftの意向だ。

PowerShell 7のアップグレードは、今のところ手動で行う必要がある。まず、通知メッセージに表示されているURLにアクセスする。アクセス先はリリースされたバージョンのリリースページなっている。

通知メッセージに表示されているURLにアクセス

そのページの下方に、該当バージョンのパッケージが置いてあるので、利用するものをダウンロードする。Windows 10を使っている場合にはポストフィックスが「-win-x64.msi」または「-win-x64.msix」のものをダウンロードしておけばよいだろう。

該当するパッケージをダウンロードする

PowerShell 7を起動してある場合には、この段階でPowerShell 7を終了し、設定アプリケーションから「アプリ」→「アプリと機能」→「PowerShell 7 x64」を選択して「アンインストール」ボタンをクリックする。

インストール済みPowerShell 7をアンインストール

アンインストールが完了したら、ダウンロードしたパッケージをダブルクリックして新しいバージョンのPowerShell 7をインストールする。

新しいバージョンのPowerShell 7をインストール

設定アプリケーションでインストールしたPowerShell 7を確認する。次のように新しいバージョンになっていれば作業完了だ。

設定アプリケーションでPowerShell 7のバージョンを確認

PowerShell 7を起動すると、次のように新しいバージョンに切り替わっていること、新しいバージョンを伝える通知が表示されなくなっていることを確認できる。

新しいバージョンが動き出したPowerShell 7

基本的に向こう数カ月から1年くらいは、この手順で新しいバージョンへのアップグレードを繰り返すことになる。1カ月に1回くらいのペースで新しいマイナーバージョンがリリースされることが予想されるので、PowerSHell 7起動時に通知メッセージが出たタイミングでアップグレードを実施すればよい。

Windowsパッケージ管理システムで自動アップデートできる日が来るかも?

PowerShell 7の提供形態とアップグレード形態がどうなるか気になっていたが、結局、PowerShell 7はMicrosoft Storeには登録されなかったし、Windows Updateでのアップデート対象にもならなかった。これまでと同じようにGitHub.comで提供され、手動でインストールやアップグレードを実施する必要がある。PowerShell 7が開発者やアドバンスドユーザー向けのものだからMicrosoft StoreやWindows Updateの対象とならなかったのか、ほかの思惑があるのか、それとも何も考えていないだけなのか、真偽のほどはわからない。いずれにせよ、手動でやるしかないというのが現状だ。

しかし、もしかすると、秋のフィーチャーアップデートあたりをめどにインストールとアップグレードが自動化される可能性もある。それは先日、MicrosoftがWindows 10向けのパッケージ管理システム「winget」を発表したためだ。

winget動作サンプル - 資料: Microsoft提供


wingetの開発者は発表のなかで、wingetの発想として次のようなコマンドでPowerShellがインストールできればいいのに、といった説明を行っている。まさに欲しいのはこの機能だ。

winget install powershell

そして、いずれは次のようなコマンドでパッケージの自動アップグレードを可能にしてほしい、というのが我々の望むところだ。

winget upgrade

wingetの開発は、まだかなり初期の段階のように見える。インストール/アンインストール、リポジトリの追加やインストールしたパッケージの表示などはできるものの、アップデートやアップグレードに関する機能がまだ用意されていない。この手のパッケージ管理システムは、そこの部分をどう解決していくかが最大の課題であり、そもそもwingetはまだそこに到達していないようにも見える。そのため、wingetがこのまま順調にWindowsのパッケージ管理システムとして成長していくのか、これから苦難の道に足を踏み入れるのか、現状ではわからない。

場合によっては、PowerShell自体にアップグレード機能が搭載される可能性もなくもないような気がする。しかし、すでにmacOSやLinuxではパッケージ管理システムを使ったアップグレードが可能になっているので、わざわざPowerShell内部にアップグレード機能を実装することはないだろう。だとすれば、wingetが希望の星ということになる。

現状では何とも言えないが、Windows Terminal 1.0が公開され、PowerShell 7も公開された。これからCUIを使った操作はますます充実していくはずだ。そうなると、やはりパッケージ管理システムはどうしても欲しい。今後、wingetがどのように発展していくのか注目しておきたい。