5/30(米国時間)にPowerShell 7のPreview 1がリリースされ、MS開発者ブログに安定版リリースに向けたロードマップ記事が公開されています。
PowerShell 7 Road Map
https://devblogs.microsoft.com/powershell/powershell-7-road-map/
中から気になった部分をいくつか。
■互換性
PowerShell 7はWindows PowerShell 5.1を置き換えることを目指していることが書かれています。
PowerShell 6.xではWindows上動作するモジュールとの互換性が不完全で、5.1と6.xの使い分けが必要になるケースが多かったためこの部分には特に期待しています。
■要望が多い機能
いくつかある中でも、「ForEach-Object」のパラレル実行については非常に興味深いです。
PowerShell 3.0~5.1ではworkflow内にforeach -parallelを記述することにより並列実行が可能でしたが、記述方法が独特でPowerShell 6.xではworkflowの機能自体が削除されていました。
(ちなみにworkflowにforeach -parallelを記述した場合の処理は正確には非同期ではないらしいですが、ここでは割愛します)
繰り返し処理を非同期実行できるようになれば処理時間の大きな短縮につながるため気になる機能です。
■PSReadLine 2.0
コンソール上の色付けやキーバインドするためのモジュールです。PowerShell 5.0からコンソール画面が凄くカラフルになったと思いますが、それはこのモジュールにより実現されています。
PowerShel 6.2では PSReadLine 2.0.0-beta3が同梱されますが、PowerShell 7安定版リリース時にはbetaがつかないPSReadLine 2.0が同梱されるでしょう。
Windows PowerShell 5.1標準のPSReadLine 1.2には2バイト文字の表示に関するバグがあり頭を悩ませてきましたが、これによる表示上の問題が無くなれば良いですね。
(一応、PowerShell 6.2同梱のPSReadLine 2.0.0-beta3でこの問題は修正されています)
気になったのはこんなところ。
ということで、早速インストールしてみようと思います。
1. GithubのからPowerShell7のダウンロード
GithubのPowerShellのページ[
https://github.com/PowerShell/PowerShell]へ移動し、[Get PowerShell]で自分の環境の[Downloads (preview)]からファイルをダウンロードします。
ここではWindows (x64)を選びます。
2. インストールプログラムの実行
ダウンロードしたファイル[PowerShell-7.0.0-preview.1-win-x64.msi]を実行し、ウィザードの内容に従いインストールを実行します。
3. PowerShell 7 Preview版の実行
スタートメニューから[PowerShell 7]と入力して実行します。
アイコン禍々しくなってませんか?
4. バージョンを確認する
[$PSVersionTable]と入力してEnter。
PSVersionに[7.0.0-preview.1]と表示されています。
まだプレビュー版ではありますが、今後実際に触ってみながら5.1や6.2との違いを見て行けたらと思います。