PowerShell 7 Preview5がリリースされました。新機能は次のとおりです。
Microsoftは、次世代のPowerShellスクリプト言語の新しいプレビューバージョンをリリースしています。 興味のあるユーザーは、PowerShell7のプレビュー5を入手できます。 これには、コミュニティとPowerShellチームの両方からの多くの新機能と多くのバグ修正が含まれています。
PowerShellは、高度な形式のコマンドプロンプトです。 すぐに使用できるコマンドレットの膨大なセットで拡張され、さまざまなシナリオで.NET Framework / C#を使用する機能が付属しています。 Windowsには、便利な方法でスクリプトを編集およびデバッグできるGUIツールであるPowerShellISEが含まれています。
広告
PowerShell 7は、.NET Core3.0に基づく最初のコマンドラインシェルおよびスクリプト言語パッケージです。 受信トレイのWindowsの90%以上との互換性を実現できます .NETFramework上に構築されたモジュールに必要な多くのAPIを復活させて.NETCoreで動作するようにする.NETCore3.0の変更を活用するPowerShellモジュール ランタイム。
マイクロソフトは来月11月にもう1つのプレビューリリースをリリースしようとしています。 次に、品質に関する懸念がなければ、12月のリリース候補は .NET Core 3.1 最終リリース。 最後に、彼らは最初の長期サービスリリースとして1月のPowerShell7の一般提供を期待しています。
リリース候補から一般提供までの間、マイクロソフトは重大なバグ修正のみを受け入れ、新機能は含まれません。 そのリリースでは、いくつか 実験的特徴 設計は安定していると見なされ、実験的ではなくなります。 これは、これらの機能の将来の設計変更は、重大な変更と見なされることを意味します。
プレビュー5の新機能
このリリースには、コミュニティとPowerShellチームの両方からの多くの新機能が含まれています。 PowerShellのプレビューリリースは、安定したバージョンと並べてインストールできるため、両方を使用できます。
チェーンオペレーター
新しい パイプラインチェーンオペレーター 前のコマンドが失敗したかどうかに応じて、コマンドの条件付き実行を許可します。 これは、ネイティブコマンドとPowerShellコマンドレットまたは関数の両方で機能します。 この機能の前に、あなたはすでにこれを使用することによってこれを行うことができました もしも
かどうかをチェックするとともにステートメント $?
最後のステートメントが成功または失敗したことを示しました。 この新しい演算子により、これがより単純になり、他のシェルと一貫性が保たれます。
合体と代入のためのヌル条件演算子
多くの場合、スクリプトでは、使用する前に、変数が$ nullであるかどうか、またはプロパティが$ nullであるかどうかを確認する必要があります。 新しいNull条件演算子により、これが簡単になります。
新しい ??
null合体演算子は もしも
と そうしないと
$ nullでない場合はステートメントの値を取得する場合、または$ nullの場合は別のステートメントを返す場合はステートメント。 これは、ブール値がtrueまたはfalseのチェックに置き換わるものではなく、$ nullかどうかをチェックするだけであることに注意してください。
新しい ??=
null条件付き代入演算子を使用すると、$ nullでない場合にのみ、変数に値を簡単に割り当てることができます。
新しいPowerShellバージョン通知
チームはテレメトリを使用して、多くのユーザーが古いバージョンのPowerShellを使用していることを把握しました。 PowerShell 7以降、コンソールは利用可能な場合は新しいバージョンをアドバタイズします。
で無効にする方法など、この機能の詳細 バージョン更新RFCに関する通知
変数割り当てのタブ補完
この新機能を使用すると、変数の割り当てにタブ補完を使用して、列挙型または変数の許可された値を取得できます。 [ValidateSet()]
. これにより、簡単に変更できます $ ErrorActionPreference
または新しい $ ErrorView
(以下で詳しく説明します)入力せずに有効な値に変換します。
Format-Hexでフォーマットが改善されました
この改善は ジョエル・サロウ 作る フォーマット-Hex
パイプライン内のさまざまなタイプのオブジェクトを表示する場合や、より多くのタイプのオブジェクトの表示をサポートする場合に便利です。
Get-HotFixが帰ってきました
NS Get-HotFix
コマンドレットはWindowsでのみ機能し、インストールされているパッチについてシステムに問い合わせます。 これは、PowerShell Core 6に依存していたため、以前は利用できませんでした。 システム。 管理名前空間 これは、PowerShell Core6.xが構築されている.NETCore2.xでは使用できませんでした。 ただし、PowerShell7が構築されている.NETCore 3.0は、この名前空間(Windowsの場合のみ)を復活させたため、このコマンドレットを再度有効にしました。
この例では、作成者がWindows 7 VMに持っているパッチの数が原因で、結果の取得に遅延があります。
Select-Stringは強調を追加します
これは HackIllinois によるプロジェクト デレク・シア 反転色のテキストを使用して、選択基準に一致する文字列内のテキストを強調表示します。 オプションがあります -NoEmphasis
強調を抑制するために切り替えます。
エラーのConciseView
一貫して受け取っているユーザーからのフィードバックの中には、PowerShellでエラーが発生したときに表示される赤いテキストの量に関するものがあります。
NS $ ErrorView
プリファレンス変数を使用すると、エラーのフォーマットを変更できます。 以前は、サポートしていました NormalView
(デフォルト)だけでなく、より簡潔 CategoryView
. この機能は、 ConciseView
ほとんどのコマンドは、関連するエラーメッセージだけを返します。 スクリプトファイルまたはスクリプト内の場所に追加のコンテキスト情報がある場合 ブロックすると、行番号、問題のテキスト行、およびエラーが発生した場所へのポインタが表示されます 発生した。
この新しいビューは、 エラービューRFCの更新 そこでフィードバックを提供してください。
Get-Errorコマンドレット
その間 ConciseView
より正確ですが、エラーに関する情報が限られているため、新しいコマンドレットを追加しました Get-Error
エラーに関するより豊富な情報を取得します。
デフォルトでは、実行するだけです Get-Error
は、ExceptionsやErrorRecordsなどの特定のネストされたタイプを表示するなど、最新のエラーのフォーマットされたビューを表示します。これにより、問題の診断が容易になります。
この新しいコマンドレットは、 エラービューRFCの更新 そこでフィードバックを提供してください。
PowerShell 7は毎月更新されるように設定されているため、ユーザーは、.NET Core 3.0のほぼ1か月後に一般提供される前に、スクリプト言語のプレビューバージョンが増えることを期待できます。
また、を参照してください リリースノート このリリースに含まれるもののすべての詳細については。
ソース: マイクロソフト