Microsoftが公開した「PowerShell 7 Preview 4」では、多くのバグを修正し、三項演算子などの新機能を追加した。PowerShell 7は、「Windows PowerShell」のオープンソースエディション「PowerShell Core」の次期バージョンだ。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2019年9月19日(米国時間)、「PowerShell 7 Preview 4」を公開した。PowerShell 7は、「Windows PowerShell」のオープンソースエディション「PowerShell Core」の次期バージョン。PowerShell CoreはWindows、Linux、macOSで動作し、コマンドラインシェルやスクリプト言語、コマンド処理フレームワークを含む。
PowerShell 7は現在、2019年12月にリリース候補版(RC)を公開し、2020年1月に一般提供を開始することを目指して開発が進められている。2019年8月にPreview 3が公開された時点では、同5月発表のロードマップに沿って、2019年末までに一般提供を開始する予定だった。
PowerShell 7は、PowerShell初の「Long Term Servicing」(LTS)リリースでもあり、「.NET Core 3.1」のサポート期間中、サポートが続く。なお、現行の「PowerShell Core 6」は、モダンライフサイクルサポートが適用されている。
PowerShell 7 Preview 4では、多くのバグを修正し、次のような新機能を追加した。
三項演算子を利用できるようになった(オプトインが必要)。三項演算子を使うと簡潔なコード表現ができ、三項演算子に精通していれば可読性も向上するため、C#開発者の間では、人気がある。
Windows PowerShellとPowerShell Coreには作業ディレクトリの位置に違いがある。具体的には「Start-Job」コマンドレットで指定したジョブを処理するために起動する新しいPowerShellプロセスの作業ディレクトリだ。
そこで、今回からスクリプトブロックの実行前に新しいジョブプロセスの作業ディレクトリを指定できるように、「-WorkingDirectory」パラメーターを追加した。
PowerShell 7 Preview 4では「$ErrorActionPreference」を「Break」に設定すると、エラーがあった場合、直ちにデバッガが実行されるようになった。
この変更により、LCM(ローカル構成マネジャー)をバイパスして、DSC(Desired State Configuration)リソースを利用できるようになった。
スクリプトで独自のLCMを作成したり、既存のDSCリソースを利用したりできるメリットがある。この機能はクロスプラットフォームで利用可能だ。なお、バイナリDSCリソースはサポートされていない。
これまでは、DSC構成スクリプトを作成した場合、まずWindowsマシンでMOF(管理オブジェクトフォーマット)ファイルにコンパイルし、管理対象ノードにデプロイする必要があった。Preview 4からは、非WindowsシステムでもDSCコンパイルを実行できるようになった。ただし、この機能は開発途上であり、既知の問題がある。
Microsoftは最近、「MSIX」パッケージの公開を開始した。このため、MicrosoftがPowerShell 7をMicrosoft Storeで公開できるようになる見込みだ。
現時点でこのパッケージをテストしたい場合は、開発者モードで「Add-AppxPackage」を使ってインストールする必要がある。Windowsシェルでこのパッケージをダブルクリックしても、開発者が署名済みの同パッケージをインストールすることはできない。
Copyright © ITmedia, Inc. All Rights Reserved.