[注意喚起] PowerShell Core 6系のサポート終了が近づいています

2020.08.11

しばたです。
今年の3月にPowerShell 7がリリースされそろそろ半年が経とうとしています。

過去バージョンであるPowerShell Core 6系のサポート期限が近づいていますので注意喚起を兼ねてこの記事を書きます。

最初に結論から

PowerShell Core 6系の最新バージョンであるPowerShell Core 6.2のサポート期限は 2020年9月4日 です。
来月です。

ですのでPowerShell 7へのアップグレードを検討していきましょう。
なお、PowerShell Core 6.0 ~ 6.1のサポート期限はすでに切れていますのでお使いの方は直ちにアップグレードしましょう。

PowerShell 7 (7.0.x)のサポート期限

PowerShell Core 6系のサポートはMicrosoft Modern Lifecycle Policyに準じているため、「サポートを受けるためには最新バージョンを使う必要がある」「PowerShell Core 6系は約半年ごとにマイナーバージョンアップする」といった感じでかなり早いサイクルでサポート期間が更新されていました。

PowerShell 7でもこのMicrosoft Modern Lifecycle Policyが無くなるわけではないのですが、これに併せて長期リリース(LTS)サポートとなるバージョンが追加されています。
PowerShell 7 (7.0.x)はLTSサポートバージョンであるため、そのサポート期限は 2022年12月3日 までとなっています。

なお、どのPowerShellのバージョンがLTSリリースになるかについては具体的な明言は無いのですが、基本的に基盤となる.NET Coreのサポートポリシーに従うものとされています。
PowerShell 7は.NET Core 3.1をその基盤としており.NET Core 3.1はLTSリリースです。
サポート期限は 2022年12月3日 まででありこの日付がPowerShell 7にも反映されてる模様です。

ちなみにPowerShellの次のマイナーアップデートとなるPowerShell 7.1についてですが、まだ確定情報は無いものの、PowerShell 7.1は.NET 5をその基盤にする見込みで(いまのPreviewリリースが.NET 5 previewを基盤としている).NET 5はLTSリリースを出さない予定のため、おそらくPowerShell 7.1はMicrosoft Modern Lifecycle Policyに従うサポート期間になると予想されます。

余談 : Windows PowerShellのサポート期限

最後に余談となりますがWindows OSに標準で組み込まれているWindows PowerShell (PowerShell 2.0 - 5.1)についてはサポート期限はOSのサポート期限に準じます。

とはいえPowerShell 2.0の利用は既に非推奨ですし、PowerShell 3.0 - 5.0についてはどのOSであってもPowerShell 5.1に更新することができますので、極力PowerShell 5.1を利用する様にすると良いでしょう。