現在、PowerShellには、.NET Frameworkでビルドされ、WindowsおよびWindows Serverに標準で付属する「Windows PowerShell」と、.NET Coreでビルドされ、Windows/macOS/Linuxのクロスプラットフォームで利用可能な「PowerShell Core」の2つのエディションが存在する。
PowerShell Coreの目標は、Windows PowerShellとの可能な限りの互換性の確保であり、最終的には「.NET Standard 2.0」として両者のバイナリ互換を目指している。
なお、DnsClientやHyper-V、NetTCPIPといったWindows関連モジュールの大半は未だPowerShell Coreへの移植が完了していないが、.NET StandardやCDXMLといった一般的なWindows PowerShellのモジュールは、十分にPowerShell Coreで動作する見込みである。
今後、「Windows PowerShell 5.1」は引き続きWindows 10およびWindows Server 2016に組み込まれ、サポートも提供されるが、大きな機能追加は行われず、バグフィックスが中心となる。開発の中心はPowerShell Coreに移行しているが、Windows Management Framework(WMF)にてリリースされているバージョンのサポートは引き続き提供される。
2017年末のリリースが予定されている「PowerShell Core 6.0」の開発では、ファースト/サードパーティ製Windows PowerShell向けモジュールとの互換性のチェックに時間が割かれており、Microsoftは開発者に対して既存のPowerShell向けスクリプトやコマンドレットが「PowerShell Core 6.0」で動作するかどうかの情報を求めている。
【関連リンク】
・日本マイクロソフト
・「PowerShell Team Blog」(英語)
・PowerShell Core(英語、GitHub)