Microsoftは米国時間1月10日、「PowerShell Core 6.0」の一般提供を開始した。これは、コマンドラインインターフェース(CLI)シェルおよびスクリプティング言語である「Windows PowerShell」のクロスプラットフォーム版に相当する。
PowerShell Core 6.0は、6.0というバージョン番号が名称に含まれているものの、PowerShell Coreとしては初めてのリリースとなっている。これは「.NET Framework」に対する「.NET Core」と同様、PowerShellのクロスプラットフォーム実装という位置付けになる。
Microsoftのテクニカルフェローであり、PowerShellの父でもあるJeffrey Snover氏は「これは、PowerShellに対するこれまでで最大、かつ最も重要な変更だ!」とツイートしている。
PowerShell Coreは「Windows 7」や「Windows 8.1」「Windows 10」「Windows Server 2008 R2」「Windows Server 2012 R2」「Windows Server 2016」のほか、「Windows Server」の「半期チャネル」での年2回の機能アップデート上で動作する。また、「macOS 10.12」以降や、さまざまなUNIXライクなOS(「Ubuntu」や「Debian」「CentOS」「Red Hat Enterprise Linux」(RHEL)、「OpenSUSE」「Fedora」など)上でも動作する。
.NETの場合と同様に、PowerShellは.NET Framework上に構築されたWindows PowerShellと、.NET Core上に構築されたPowerShell Coreという、2つの異なるブランチが提供されることになるが、同社はWindows PowerShellの新バージョンをリリースする計画はないとしている。つまり現行の5.1が最終バージョンになるものの、サポートは当面の間継続される。なお、PowerShell CoreはWindows PowerShellと併用することができる。
提供機能についても.NETの場合と同様に、Windows PowerShellの全機能がPowerShell Coreで提供されるわけではない。「PowerShell Workflows」や「PowerShell Snap-ins」「PowerShell WMlv1 cmdlets」のほか、PowerShell Coreから「Desired State Configuration」(DSC)リソースを実行する機能は、現在のところサポートされていない。同社ブログには、「(サポートされていない)テクノロジの一部は、最終的にPowerShell Coreで利用可能になるが、そうならないものも数多くある」と記されている。
コンサルタントのMichael B. Smith氏は、PowerShell CoreとWindows PowerShell間におけるその他の非互換性により、 ITプロフェッショナルは「既存のスクリプトすべて」を見直す必要があると警告している。同氏によると、PowerShell Coreは「Microsoft Exchange」や「Active Directory」「Skype for Business」と連携できないという。
Microsoftのブログによると、「モジュールは、Windowsやその製品グループによってPowerShell Core上でサポートされていると明記されていない限り、PowerShell Coreでの動作を保証しない」という。
同ブログによると、PowerShell Coreは「Windows」や「Office 365」と同様に、定期的かつ継続的にアップデートされるという。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。