PowerShell 7.2 の新機能
PowerShell 7.2 は、次の長期サービス (LTS) リリースであり、.NET 6.0 が基になっています。
PowerShell 7.2 には、次の機能、更新、破壊的変更が含まれています。
- サポートされているほとんどの Linux ディストリビューション用の新しいユニバーサル インストーラー パッケージ
- Windows での Microsoft Update のサポート
- 2 つの新しい実験的機能
- ネイティブ コマンドの引数の受け渡しのサポートの向上
- ANSI FileInfo の色のサポート
- タブ補完の強化
- 予測 IntelliSense での PSReadLine 2.1
- メインストリームに昇格された 7 つの実験的機能と、削除された 1 つの機能
- 将来の機能強化を可能にするための、PowerShell 7 からの DSC の分離
- 使いやすさ向上のためのいくつかの破壊的変更
詳細な変更一覧については、GitHub リポジトリの変更ログを参照してください。
インストール更新プログラム
任意のオペレーティング システムのインストール手順を確認してください。
さらに、PowerShell 7.2 では、Windows と macOS の ARM64 バージョン、および Debian と Ubuntu の ARM32 と ARM64 バージョンもサポートされています。
サポートされているオペレーティング システムとサポート ライフサイクルの最新情報については、「PowerShell のサポート ライフサイクル」を参照してください。
Linux ディストリビューション用の新しいユニバーサル インストール パッケージ
これまでは、CentOS、RHEL、Debian、Ubuntu のサポート対象バージョンごとに、個別のインストーラー パッケージが作成されていました。 ユニバーサル インストーラー パッケージによって 8 つの異なるパッケージが 1 つにまとめられ、Linux でのインストールが簡単になります。 ユニバーサル パッケージを使用すると、ターゲット ディストリビューションに必要な依存関係がインストールされて、PowerShell を機能させるためのプラットフォーム固有の変更が作成されます。
Windows での Microsoft Update のサポート
PowerShell 7.2 では、Microsoft Update のサポートが追加されます。 この機能を有効にすると、従来の Windows Update (WU) の管理フローで、PowerShell 7 の最新の更新プログラムが提供されます。これは、Windows Update for Business、WSUS、SCCM、または設定の対話型 WU ダイアログのいずれでも同じです。
PowerShell 7.2 の MSI パッケージには、次のコマンド ライン オプションが含まれています。
USE_MU- このプロパティには、次の 2 つの有効値があります。1(既定値) - Microsoft Update または WSUS による更新にオプトインします0- Microsoft Update または WSUS による更新にオプトインしません
ENABLE_MU1(既定値) - Windows Update の使用にオプトインします (自動更新または Microsoft Update)0- Windows Update の使用にオプトインしません (自動更新または Microsoft Update)
試験的な機能
このリリースでは、次の試験的機能がメインストリーム機能になりました。
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck- 「Import-PowerShellDataFile」を参照してくださいMicrosoft.PowerShell.Utility.PSManageBreakpointsInRunspace- 実験的な機能の使用に関する記事を参照してくださいPSAnsiRendering- 「about_ANSI_Terminals」を参照してくださいPSAnsiProgress- 「about_ANSI_Terminals」を参照してくださいPSCultureInvariantReplaceOperator- 実験的な機能の使用に関する記事を参照してくださいPSNotApplyErrorActionToStderr- 実験的な機能の使用に関する記事を参照してくださいPSUnixFileStat- 実験的な機能の使用に関する記事を参照してください
このリリースでは、次の実験的な機能が追加されました。
PSNativeCommandArgumentPassing - この実験的な機能を有効にすると、ネイティブの実行可能ファイルを呼び出すとき、PowerShell により、文字列を再構築する現在の機構ではなく、StartProcessInfo オブジェクトの ArgumentList プロパティが使用されます。 この機能によって、実行時に動作を選択できる新しい自動変数
$PSNativeCommandArgumentPassingが追加されます。PSAnsiRenderingFileInfo - ファイル情報の ANSI 色のカスタマイズを許可します。
PSLoadAssemblyFromNativeCode - ネイティブ コードからのアセンブリの読み込みを許可する API を公開します。
試験的な機能の詳細については、試験的機能の使用に関するページを参照してください。
タブ補完の強化
PowerShell 7.2 には、タブ補完に関していくつかの機能強化が含まれています。 これらの変更には、バグ修正や使いやすさの向上が含まれます。
- ローカライズされない説明トピックについてのタブ補完の修正 (#15265) (@MartinGC94 に感謝します)
- スプラッティングが補完で位置指定パラメーターとして扱われることの修正 (#14623) (@MartinGC94 に感謝します)
- コメント ベースのヘルプ キーワードの補完の追加 (#15337) (@MartinGC94 に感謝します)
- Requires ステートメントの補完の追加 (#14596) (@MartinGC94 に感謝します)
- Format-* コマンドレットの View パラメーターへのタブ補完の追加 (#14513) (@iSazonov に感謝します)
PSReadLine 2.1 の予測 IntelliSense
PSReadLine 2.1 では、コマンド ライン補完の予測を提供するフレームワークを確立する CommandPrediction API が導入されました。 ユーザーはこの API を使用することで、ユーザーの履歴からの一致する予測に基づいて、完全なコマンドを検出、編集、実行することができます。
予測 IntelliSense は既定では無効になっています。 予測を有効にするには、次のコマンドを実行します。
Set-PSReadLineOption -PredictionSource History
将来の機能強化を可能にするための、PowerShell 7 からの DSC の分離
PSDesiredStateConfiguration モジュールは、PowerShell 7.2 パッケージから削除され、PowerShell ギャラリーに発行されるようになりました。 これにより、PSDesiredStateConfiguration モジュールを PowerShell とは別に開発できるようになり、ユーザーは環境に合わせて PowerShell と PSDesiredStateConfiguration のバージョンを組み合わせることができます。 PowerShell ギャラリーから PSDesiredStateConfiguration 2.0.5 をインストールするには:
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
重要
必ず MaximumVersion パラメーターを指定してください。そうしないと、重要な違いが含まれるバージョン 3 (またはそれ以降) の PSDesireStateConfiguration がインストールされる可能性があります。
エンジンの更新
- 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.Targetを CodeProperty からFileSystemInfo.LinkTargetを指す AliasProperty に変更します (#16165)
フィードバック
フィードバックの送信と表示