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_MU
1
(既定値) - 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{b>
エンジンの更新
- 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)
PowerShell