PowerShell 7のロードマップ
「PowerShell 7」のロードマップを紹介します。プレビューリリース
先日紹介したように、2019年5月30日に「PowerShell 7.0.0 Preview 1」がリリースされました。今後もほぼ毎月の間隔で新しいプレビューリリースが行われていきます。
「PowerShell 7.0.0 Preview 1」では「PowerShell Core 6.2 GA」に間に合わなかった変更がいくつか含まれており、「.NET Core 3.0」への移行が変更に含まれています。
変更点の詳細は、「PowerShell 7.0.0 Preview 1」の「リリースノートとダウンロード」ロ参照してください。
.NET Core 3.0
「PowerShell 7」で最も大きな変更は、「.NET Core 2.1」から「.NET Core 3.0」への移行です。これにより大幅なパフォーマンスの改善だけでなく、「WPF」や「WinForms」を含む様々な新しいAPIが追加されています。
ただし「WPF」と「WinForms」は、「Windows」環境でのみ利用可能です。
最終的に「Out-GridView」が利用できるようになる予定です。
Windows PowerShellを置き換える
「PowerShell 7」で最も注力している点は、「Windows PowerShell 5.1」の置き換えを実現することです。「Windows PowerShell 5.1」を「PowerShell 7」で置き換えるためには、「Windows」と共に提供されている各種モジュールとの互換性に関し「PowerShell」が、「Windows PowerShell」相当の互換性を持っていなければなりません。
そのためPowerShellチームはWindowsチームと連携し、「PowerShell 7」が動作するようにWindowsモジュールの検証やアップデートを行っています。
「PowerShell 7」で幅広くWindows PowerShellモジュールを使用するには、「Windows 10」の最新ビルドを利用する必要があります。
「Windows Server」でも同様です。
機能のフィードバックの募集
PowerShellチームは3つの機能分野での投資を検討しています。これに関し以下でフィードバックの募集が行われる予定です。
上記では機能をどのように実装しようとしているのか、解決しようとしている問題の範疇はどこなのかを紹介し、それに基づくフィードバックが募集されます。
1.資格情報の管理の簡素化
クラウド内のリソースやローカルのリソースなど異なるリソースを「PowerShell」で横断的に利用するには、一般的に異なる資格情報が必要になります。このような資格情報は「PowerShell」のスクリプトに含めるべきではありません。
そこで開発チームは、安全に資格情報を利用できるようにする方法を導入しようとしています。
2.ログの転送
ログ(イベント)をリモートシステムに転送するには、各OSの手法に沿った設定が必要になります。「PowerShell」でポリシーを通じてOSに関わらず自動的にログをリモートに転送する簡単な方法を導入しようとしています。
3.新バージョンの通知
現在サポートが終了したバージョンも含め、古い「PowerShell Core」が数多く利用されています。この状況を改善するため、顧客に新しいバージョンのリリースを丁寧に通知する必要があります。
これに関するフィードバックは、すでに以下で募集されています。
PowerShell 7で修正が検討されている不具合や課題
「PowerShell 7」で修正が検討されている不具合や課題は以下で確認できます。人気の要望
「PowerShell 7」で対応が検討される機能が数多くあり、これらの機能はフィードバックの募集期間を設定するため、事前に試験的な機能として提供されます。- Improve the default formatting of errors
- Ubiquitous -OnError {ScriptBlock} parameter
- Control operators for chaining commands
- Ternary conditionals
- Null conditional assignment
- Parallel For-Each-Object