Microsoftは、「PowerShell 7 Preview 6」を公開した。Webコマンドレットのエラーチェックスキップや変数のNullチェックのスキップなど、多くの新機能を追加した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2019年11月21日(米国時間)、「PowerShell 7 Preview 6」を公開した。
PowerShell 7は、「Windows PowerShell」のオープンソースエディション「PowerShell Core」の次期バージョン。PowerShell CoreはWindows、Linux、macOSで動作し、コマンドラインシェルやスクリプト言語、コマンド処理フレームワークを提供する。
PowerShell 7 Preview 6は最後のプレビュー版であり、2019年12月にPowerShell 7のリリース候補版(RC:Release Candidate)が公開される見込みだ。RC版では新機能を追加しないものの、コマンドレットに小さな変更を加える可能性がある。さらにバグ修正を行い、バグ修正によっておこる不具合(リグレッション)のリスクを評価する。
2020年1月には「Long Term Servicing」(LTS)リリースとして、PowerShell 7の一般提供を開始する予定。
PowerShell 7 Preview 6では、多くの新機能を追加した他、多数のバグが修正されている。主な新機能は次の通り。
Webコマンドレットを使うと、内部HTTPレスポンスエラーチェックをスキップできる。HTTPレスポンスヘッダだけでなくレスポンスオブジェクトも含めて、エラーオブジェクトを介することなく、ユーザーが自らWebエラーを処理可能だ。
変数のインデックス作成やメソッドの呼び出し、プロパティへのアクセスの前に自動実行される「変数がNullかどうかのチェック」をスキップできる。
LinuxやmacOSでPowerShellを使うユーザーには恩恵がある。「Get-ChildItem」を利用することで、UNIX系OSでいう「ls -l」が出力する詳細なファイルシステム情報を入手できる。
「.NET Core 3」によって、Windows PowerShell 5.1の既存コマンドレットの多くが復活した。さらに、Windows PowerShellモジュールのインポート機能も改良できた。
「Get-Clipboard」と「Set-Clipboard」が復活した。さらに、Linux(xclipのインストールが必要)とmacOSでも使えるようになった。
ただし、PowerShell 7 Preview 6ではどのOS環境でもクリップボードの内容のうち、テキストのみをサポートしている。
「Get-Counter」が復活し、Windowsパフォーマンスカウンタの情報を入手できるようになった。ただし、PowerShell 7では、「Import-Counter」「Export-Counter」をサポートしていない。
.NET Core 3.0ではWindows上でのWPF(Windows Presentation Foundation)サポートが復活している。このため「Out-GridView」や「Show-Command」「Get-Help」(-ShowWindowオプション)といったポピュラーなグラフィカルツールを再び利用できるようになった。
クロスプラットフォーム対応を予定するコマンドレットは他にもある。
「Update-List」はパイプライン内のオブジェクト群を含むプロパティ値に対してアイテムを追加、削除できる(クロスプラットフォーム対応)。「Out-Printer」はPowerShellオブジェクトをプリンタに送信する(現在、Windows上でのみ利用可能)。「Clear-RecycleBin」は「ごみ箱」を空にする(現在、Windows上でのみ利用可能)。
「Test-Connection」は今回、クロスプラットフォームで、Windows PowerShell上と同様の操作性と機能を提供できるようになった。
「PowerShell Core 6」に対しては、この版と互換性のないWindows PowerShellモジュールをインポートするための「Windows Compatibility Module」を導入した。
PowerShell 7 Preview 6では、Windows Compatibility Moduleをカプセル化する新機能を追加したことで、Windows PowerShellモジュールのインポート機能を改良できた。
Copyright © ITmedia, Inc. All Rights Reserved.