次の方法で共有


PowerShell 7.2 の新機能

PowerShell 7.2 は、.NET 6.0 上に構築される次の長期サービス (LTS) リリースです。

PowerShell 7.2 には、次の機能、更新プログラム、および重大な変更が含まれています。

  • 最もサポートされている Linux ディストリビューション用の新しいユニバーサル インストーラー パッケージ
  • Windows での Microsoft Update のサポート
  • 2 つの新しい試験的機能
    • ネイティブコマンド引数の受け渡しサポートの改善
    • ANSI FileInfo の色のサポート
  • タブ補完の強化
  • 予測機能付き IntelliSense を使用した PSReadLine 2.1
  • 7 つの実験機能がメインストリームに昇格され、1 つ削除されました
  • 将来の改善を可能にするために DSC を PowerShell 7 から分離する
  • 使いやすさを向上させるためのいくつかの破壊的変更

変更の完全な一覧については、GitHub リポジトリの 変更ログ を参照してください。

インストール更新

お好みのオペレーティング システムのインストール手順を確認します。

さらに、PowerShell 7.2 では、Arm64 バージョンの Windows と macOS、ARM32 および ARM64 バージョンの Debian と Ubuntu がサポートされています。

サポートされているオペレーティング システムとサポート ライフサイクルに関する up-to-date 情報については、PowerShell サポート ライフサイクルのを参照してください。

Linux ディストリビューション用の新しいユニバーサル インストール パッケージ

以前は、サポートされている CentOS、RHEL、Debian、Ubuntu のバージョンごとに個別のインストーラー パッケージを作成しました。 ユニバーサル インストーラー パッケージは、8 つの異なるパッケージを 1 つに結合し、Linux へのインストールをより簡単にします。 ユニバーサル パッケージは、ターゲット配布に必要な依存関係をインストールし、PowerShell を機能させるためにプラットフォーム固有の変更を作成します。

Windows に対する Microsoft Update のサポート

PowerShell 7.2 では、Microsoft Update のサポートが追加されました。 この機能を有効にすると、Windows Update for Business、WSUS、SCCM、または [設定] の対話型 WU ダイアログのいずれを使用する場合でも、従来の Windows Update (WU) 管理フローで最新の PowerShell 7 更新プログラムが取得されます。

PowerShell 7.2 MSI パッケージには、次のコマンド ライン オプションが含まれています。

  • USE_MU - このプロパティには、次の 2 つの値があります。
    • 1 (既定) - Microsoft Update または WSUS を使用した更新をオプトインする
    • 0 - Microsoft Update または WSUS を使用した更新を選択しないでください
  • ENABLE_MU
    • 1 (既定) - Microsoft Update の自動更新または Windows Update の使用をオプトインします
    • 0 - Microsoft Update の自動更新または Windows Update の使用を選択しないでください

試験的な機能

このリリースでは、次の試験的な機能がメインストリーム機能になりました。

  • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck - 「Import-PowerShellDataFile」を参照してください
  • Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
  • PSAnsiRendering - ANSIターミナルについて を参照
  • PSAnsiProgress - 「about_ANSI_Terminals」を参照してください
  • PSCultureInvariantReplaceOperator
  • PSNotApplyErrorActionToStderr
  • PSUnixFileStat

このリリースでは、次の試験的な機能が追加されました。

  • PSNativeCommandArgumentPassing - この試験的機能が有効になっている場合、PowerShell では、ネイティブ実行可能ファイルを呼び出すときに文字列を再構築する現在のメカニズムではなく、StartProcessInfo オブジェクトの ArgumentList プロパティを使用します。 この機能により、実行時に動作を選択できる新しい自動変数 $PSNativeCommandArgumentPassing が追加されます。

  • PSAnsiRenderingFileInfo - ファイル情報の ANSI 色のカスタマイズを許可します。

  • PSLoadAssemblyFromNativeCode - ネイティブ コードからのアセンブリ読み込みを許可する API を公開します。

試験的特徴の詳細については、「試験的特徴を使用する 」を参照してください。

タブ補完の強化

PowerShell 7.2 には、タブ補完のいくつかの機能強化が含まれています。 これらの変更にはバグ修正が含まれており、使いやすさが向上します。

  • 未ローカライズの about* トピックに対するタブ補完を修正しました (#15265) (@MartinGC94) に感謝)
  • スプラッティングが補完で位置指定パラメーターとして扱われることの修正 (#14623) (感謝します @MartinGC94)
  • コメントベースのヘルプキーワードの補完を追加する (#15337) (@MartinGC94) に感謝)
  • Requires ステートメントの補完機能を追加する (#14596) (@MartinGC94) に感謝します)
  • Format-* コマンドレットの View パラメーターのタブ補完を追加しました (#14513) (@iSazonov) に感謝

PSReadLine 2.1 予測インテリセンス

PSReadLine 2.1 では、コマンド ライン補完の予測を提供するためのフレームワークを確立する CommandPrediction API が導入されました。 この API を使用すると、ユーザーは、ユーザーの履歴からの一致する予測に基づいて、完全なコマンドを検出、編集、実行できます。

予測 IntelliSense は既定では無効になっています。 予測を有効にするには、次のコマンドを実行します。

Set-PSReadLineOption -PredictionSource History

将来の改善を可能にするために DSC を PowerShell 7 から分離する

PSDesiredStateConfiguration モジュールは PowerShell 7.2 パッケージから削除され、PowerShell ギャラリーに発行されるようになりました。 これにより、PSDesiredStateConfiguration モジュールを PowerShell とは別に開発でき、ユーザーは環境に合わせて PowerShell と PSDesiredStateConfiguration のバージョンを混在させ、一致させることができます。 PowerShell ギャラリーから PSDesiredStateConfiguration 2.0.5 をインストールするには:

Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99

重要

パラメーター MaximumVersion を必ず含めるか、大きな違いを含む PSDesireStateConfiguration のバージョン 3 (以上) をインストールしてください。

エンジンの更新

  • awakecoding·によってネイティブ PowerShell ホストからメモリにアセンブリを読み込むための LoadAssemblyFromNativeMemory 関数が追加されます。pull request #14652

破壊的変更と機能強化

  • PSDesiredStateConfiguration が PowerShell 7.2 パッケージから削除されました
  • PowerShell Linux deb パッケージと RPM パッケージをユニバーサルにする (#15109)
  • 試験段階の機能 PSNativeCommandArgumentPassing: ネイティブ実行可能ファイルの呼び出しに ArgumentList を使用する (#14692)
  • スクリプト コマンドレットからのすべての出力に対して -PipelineVariable が設定されていることを確認します (#12766)
  • ConvertTo-Json が -Depth 値を超えた場合に警告を出力する (#13692)
  • -Directory スイッチのエイリアス D が削除されます CL-General #15171
  • 変更可能な値型の検出を向上させる (#12495)
  • ロックダウン下での NoLanguage モードの New-Object が制限されます (#14140)
  • 実行ポリシー バイパス構成の前に AppLocker 拒否構成を適用する (#15035)
  • FileSystemInfo.TargetCodeProperty から、FileSystemInfo.LinkTarget を指す AliasProperty に変更する (#16165)