PowerShell 7.0.0 Preview4登場

Microsoftは2020年1月にPowerShell 7.0.0の一般公開を目指して作業を進めている。2019年12月にはリリース候補版を公開する予定だ。タイムスケジュール的に考えると、そろそろ新機能の追加は抑えて、Windows PowerShellとの互換性向上と、バグ修正のみを進めるべき次期に来ていると言える。

PowerShell 7.0.0 Preview4

こうしたタイムスケジュールを踏まえつつ、2019年9月19日(米国時間)に公開された「PowerShell 7.0.0 Preview3」の変更点や新規を取り上げておこう。

今回のプレビュー版はバグ修正が主な目的とされているが、それでもいくつかの新機能が導入されている。そのうちいくつかはコーディングの生産性向上やデバッグの容易化につながりそうな機能となっている。

三項演算子

PowerShell 7.0.0 Preview4でもっとも注目される新機能は三項演算子の導入だろう。次のようにこのバージョンからは三項演算子による記述が可能になっている。

三項演算子の使用サンプル

三項演算子は適切なシーンで使用できれば、ソースコードをシンプルに書くことができる。制御構文の種類を増やすことを良しとしない方針であれば不要な機能ということになるが、if-elseでは数行に渡って書くことになるコードが1行でまとめられると利点も多い。好みの話にもなるが、少なくともこの機能が導入されたことくらいは覚えておきたい。

ジョブのワーキングディレクトリ

Windows PowerShellとPowerShell Coreとの互換性確保という観点もあり、Start-Jobコマンドレットに-WorkingDirectoryというパラメータが追加された。これは名前の通り、ジョブが実行されるディレクトリを指定するものだ。

Start-Jobコマンドレットと-WorkingDirectoryパラメータの使用サンプル

ワーキングディレクトリを明示的に指定することで、どのプラットフォームでも同じパスで動作させたいなどのニーズに応えられる。この部分は非互換や誤解を生みやすいところでもあるので、このように明示的に指定できるようになると便利だ。

実験的機能のデフォルト有効化

PowerShell 7.0.0 Preview3から実験的機能はデフォルトで有効になるように挙動が変更された。次のようにGet-ExperimentalFeatureコマンドレットを使うと、現在の実験的機能が有効か無効かを確認することができる。

PowerShell 7.0.0 Preview4で実験的機能の有効無効を書くひん

ただし、これら機能はすべてのプラットフォームで利用できるとは限らない。Preview版で利用できる機能はWindowsプラットフォームでは利用できても、まだほかのプラットフォームでは利用できないものも多い。最新の機能を試してみるときにはWindows版のPowerShell 7を使った方がよさそうだ。

Microsoft Storeへの登録へ向けた動き

Microsoftが今後どのような形式でPowerShell 7を提供するのか気になるところだが、どうやらMicrosoft Storeに登録する方向で作業を進めていることがわかってきた。

Microsoftはここ最近、Windows向けパッケージにMSXIパッケージを作成するようになった。これは最終的にPowerShell 7をMicrosoft Storeで公開することを狙ったものとみられる。

参考資料