Microsoftから「PowerShell 7.2」が公開された。今回のバージョンは長期サポートバージョンであり、3年間のサポートが予定されている。つまり、PowerShell 7.2系は2024年末ごろまでは使えることになる。PowerShell 7.1系は1年間のサポートライフサイクルなので、基本的にはPowerShell 7.2へのアップグレードが必要だ。

PowerShell 7.2に関するまとまった説明は、次のページに掲載されている。


PowerShell 7.2は.NET 6で構築されており、いくつかの機能強化やパフォーマンス改善が実現されている。しかし、今回のバージョンで特に注目したいのがMicrosoft Updateとの統合にある。

Microsoft Updateとの統合

Microsoft Updateと統合したことにより、PowerShell 7.2は重要なバグ修正やセキュリティアップデートのみを含むサービスリリースが行われる際には、自動的にアップデートが適用されるようになる。従来のバージョンは手動でアップデートする必要があったことから考えると、大きな変更だ。

まず、Windows 11がリリースされた現在においても、Windowsにデフォルトでインストールされているシェルは「Windows PowerShell 5.1」のままだ。このWindows PowerShellを起動すると、次のように「PowerShell 7をインストールして使うように」という旨のメッセージが表示される。

Windows PowerShell 5.1 - PowerShell 7を使うように促してくる

MicrosoftはすでにWindows PowerShell 5.1の開発を終えている。このプロダクトは互換性目的で残されているだけであり、重大なセキュリティ脆弱性の修正などしか行われない。

MicrosoftはPowerShell 7の利用を推奨しているのだが、PowerShell 7はコミュニティとともに活発に開発が進められており、Windowsにはデフォルトでは取り込まれていない。もちろんインストールすれば利用できるのだが、Windowsのデフォルト機能として同梱されているかどうかは大きな違いだ。

PowerShell 7.2がリリースされてもPowerShell 7はWindowsにはデフォルトでの同梱にはなっていない。しかし、Microsoft Updateに統合されたというのは大きな変化だ。これで、いったんMicrosoft StoreなどからPowerShell 7がインストールされれば、長期に渡ってセキュリティ的に問題のないバージョンが使われることになる。PowerShell 7がデフォルト化する一歩手前というわけだ。いつ、PowerShell 7がWindowsにデフォルト同梱されるのかはわからないが、かなり近いところまで来ているのは間違いないように見える。

「Windows Terminal」もPowerShell 7のようにコミュニティと連携してオープンソースソフトウエアとして開発が行われている。しかし、Windows TerminalはWindows 11に導入されたし、デフォルトのターミナルアプリケーションとして設定できるようにもなった。PowerShell 7も同じ流れになることは十分に考えられ、Windowsのシェルとして重要なアプリケーションであるだけにその可能性は高いものと見られる。

PowerShell 7.1から7.2へのアップデート

Microsoft Updateとの統合はPowerShell 7.2からだ。このため、PowerShell 7.1からPowerShell 7.2へのアップグレードはこれまで通り手動で行う必要がある。

最も簡単な方法は「winget」を使う方法だ。すでにwingetを使える状態にしてあるなら、次のように「winget upgrade powershell」で、PowerShell 7.1から7.2へのアップグレードを実施できる。

winget upgrade powershellを実行

PowerShell 7.2へのアップグレード完了

Windows Terminalを終了して再度起動すれば、今度はPowerShell 7.1ではなくPowerShell 7.2が利用できることを確認できるはずだ。

Microsoft Updateとの統合以外にも、いくつか注目しておきたい機能強化がある。例えば、出力がこれまでよりもちょっとカラフルになっている。

これまでよりカラフルな出力

ほかにもユーザビリティが向上するような変更がいくつか取り込まれているが、詳細は次回説明しよう。

デフォルト化へ向けた大切なバージョン

PowerShell 7以降のバージョンアップは、毎回比較的小規模なものに留まっていた。大枠はPowerShell 7の段階でほぼ出来上がっており、後はユーザビリティの改善や調整、ちょっとした機能の追加、ベースとなる.NETの変更に伴う機能追加という程度だった。

しかし、PowerShell 7.2ではMicrosoft Updateとの統合を実現した。しかも3年間の長期サポートバージョンであり、PowerShell 7のデフォルト化へ向けた一つのマイルストーンになるだろう。今後、どの段階でデフォルトでインストールされるようになり、デフォルトのシェルとして扱われていくようになるのか、動向を注目したい。