ニュース

「PowerShell 7.4」が正式公開 ~新しいパッケージマネージャーなどを追加

「.NET 8」ベースのLTSリリース、サポート期間は3年

Microsoft、「PowerShell 7.4」を一般公開

 米Microsoftは11月16日(現地時間)、スクリプティング環境「PowerShell」の最新バージョン「PowerShell 7.4」を一般公開した。安定版「PowerShell 7.3」を「Microsoft ストア」またはMSIインストーラー経由でセットアップし、「Microsoft Update」をオプトイン(有効化)しているならば、自動でアップデートされる。

 「PowerShell」は、Windows/Mac/Linuxで動作するスクリプティング環境。「.NET」と軌を一にして毎年アップデートされている。最新版の「PowerShell 7.4」は「.NET 8」上に構築されており、長期サポートリリース(LTS)として3年間サポートされる。

 「PowerShell 7.4」は、「PowerShellGet 3.0」の後継となる「PSResourceGet 1.0」を同梱。モジュールやDSCリソース(システム設定の管理)、ロール機能、スクリプトといった「PowerShell」成果物を管理するパッケージマネージャーで、「PowerShellGet」での経験を活かし、よりシンプルで保守性の高いものへと刷新されているという。また、「PowerShell」構文の強調表示などを行うライブラリ「PSReadLine 2.3」の最新リリースも含まれる。

 そのほかの新機能は以下の通り。

  • PSConstrainedAuditLogging:WDAC監査モードを遵守し、Windowsイベントログにイベントを記録
  • PSCustomTableHeaderLabelDecoration:テーブルとしてレンダリングされるオブジェクトで、ヘッダーラベルの扱いを厳密に。テキスト装飾も可能で、既定ではヘッダーがイタリックで描画される
  • PSWindowsNativeCommandArgPassing:Windows環境とそれ以外の環境で引数解析の互換性を改善。「PowerShell 7.3」で導入されたものをブラッシュアップ
  • PSNativeCommandErrorActionPreference:これも「PowerShell 7.3」で初めて導入。ネイティブ コマンドからのゼロ以外の終了コードを、コマンドレットからの「ErrorRecord」として扱える
  • PSNativeCommandPreserveBytePipe:ネイティブコマンドとの間でパイピングを行う際に、バイトストリームを保持。「tar」や「zip」のようなバイナリ入力を期待するツールで役立つ
テーブルとしてレンダリングされるオブジェクト。ヘッダーがイタリック体に

 一方で、破壊的変更もいくつか含まれるので注意。一部のユーザーに影響する可能性があるものとしては、進行状況をどのように報告するかを制御する「-ProgressAction」共通パラメーターが挙げられている。