PowerShell Support Lifecycle
PowerShell is a distinct set of tools and components that is shipped, installed, and configured separately from Windows PowerShell. PowerShell isn't included in the Windows licensing agreements.
PowerShell is supported under traditional Microsoft support agreements, including paid support, Microsoft Enterprise Agreements, and Microsoft Software Assurance. You can also pay for assisted support for PowerShell by filing a support request for your problem.
We also offer community support on GitHub where you can file an issue, bug, or feature request. Also, you may find help from other members of the community in the Microsoft PowerShell Tech Community or any of the forums listed in the community section of PowerShell hub page. We offer no guarantee there that the community will address or resolve your issue in a timely manner. If you have a problem that requires immediate attention, you should use the traditional, paid support options.
Lifecycle of PowerShell 7
With the release of PowerShell 7, PowerShell continues to be supported under the Microsoft Modern Lifecycle Policy, but support dates are linked to .NET Core's support lifecycle. In this servicing approach, customers can choose Long Term Support (LTS) releases or Current releases. PowerShell 7.0 is an LTS release. Support ends with the support of .NET Core 3.1. The next LTS release follows the next .NET Core LTS release. See the PowerShell releases end of life table for current ending support dates. LTS release updates only contain critical security and servicing updates and fixes that are designed to avoid or minimize impact to existing workloads.
A Current release is a release that occurs between LTS releases. Current releases can contain critical fixes, innovations, and new features. A Current release is supported for three months after the next Current or LTS release.
You must have the latest patch update installed to qualify for support. For example, if you're running PowerShell 7.0 and 7.0.1 has been released, you must update to 7.0.1 to qualify for support.
To confirm if your platform and version of PowerShell Core are officially supported, see the following table.
Our community has also contributed packages for some platforms, but they aren't officially
supported. These packages are marked as
Community in the table.
Platforms listed as
Experimental aren't officially supported, but are available for
experimentation and feedback.
|Windows 8.1, and 10||Supported||Supported|
|Windows Server 2012 R2, 2016, 2019||Supported||Supported|
|Windows Server Semi-Annual Channel||Supported||Supported|
|Ubuntu 16.04, 18.04||Supported||Supported|
|Ubuntu 20.04||Not Supported||Supported|
|Ubuntu 19.10, 20.10 (via Snap Package)||Community||Supported|
|Red Hat Enterprise Linux 7||Supported||Supported|
|Red Hat Enterprise Linux 8||Supported||Supported|
|Fedora 31+||Supported||Not Supported|
|Alpine 3.10||See Note 1||Not Supported|
|Alpine 3.11+||See Note 1||See Note 1|
|AppImage (works on multiple Linux platforms)||Community||Community|
|Snap Package||See note 2||See note|
- 1 - CIM, PowerShell Remoting, and DSC are not supported on Alpine.
- 2 - Snap packages are supported the same as the distribution you're running the package on.
PowerShell releases end of life
Based on the Lifecycle of PowerShell, the following table lists the dates when various releases will no longer be supported.
|7.1||mid-February 2022 (projected)|
|7.0||December 3, 2022|
|6.2||September 4, 2020|
|6.1||September 28, 2019|
|6.0||February 13, 2019|
This document is about support for PowerShell Core. Windows PowerShell (1.0 - 5.1) is a component of the Windows OS. Components receive the same support as their parent product or platform. For more information, see Product and Services Lifecycle Information.
When a platform version reaches end-of-life as defined by the platform owner, PowerShell Core will also cease to support that platform version. Previously released packages will remain available for customers needing access but formal support and updates of any kind will no longer be provided.
So, the distribution owners ended support for the following versions and aren't supported.
|Platform||Version||End of Life|
|Windows Server||2008 R2||January 2020|
Notes on licensing
PowerShell Core is released under the MIT license. Under this license, and without a paid support agreement, users are limited to community support. With community support, Microsoft makes no guarantees of responsiveness or fixes.
Windows PowerShell Compatibility
The support lifecycle for PowerShell doesn't cover modules that ship outside of the PowerShell 7
release package. For example, using the
ActiveDirectory module that ships as part of Windows
Server is supported under the Windows Support Lifecycle.
PowerShell 7 improves compatibility with existing PowerShell modules written for Windows PowerShell. For more information, see the about_Windows_Compatibility article and the module compatibility list.
The WindowsPSModulePath module is no longer necessary in PowerShell 7 and is not supported.
Security Servicing Criteria
PowerShell follows the Microsoft Security Servicing Criteria for Windows. The table below outlines the features that meet the servicing criteria and those that do not.
|System Lockdown - with WDAC||Security Feature|
|Constrained language mode - with WDAC||Security Feature|
|System Lockdown - with AppLocker||Defense in Depth|
|Constrained language mode - with AppLocker||Defense in Depth|
|Execution Policy||Defense in Depth|
There is a corner-case scenario in AppLocker where you only have Deny rules and constrained
language mode is not used to enforce the policy that allowed you to bypass the execution policy.
Beginning in PowerShell 7.2, a change was made to ensure that AppLocker rules would take
precedence over a
Set-ExecutionPolicy -ExecutionPolicy Bypass command.
For more information about AppLocker and Windows Defender Application Control (WDAC), see Application Controls for Windows.
The following table contains a timeline of the major releases of PowerShell. This table is provided for historical reference. It is not intended for use to determine the support lifecycle.
|PowerShell 7.1 (current)||Nov-2020||Built on .NET 5.0 (current).|
|PowerShell 7.0 (LTS)||Mar-2020||Built on .NET Core 3.1 (LTS).|
|PowerShell 6.1||Sep-2018||Built on .NET Core 2.1.|
|PowerShell 6.0||Jan-2018||First release, built on .NET Core 2.0. Installable on Windows, Linux, and macOS.|
|PowerShell 5.1||Aug-2016||Released in Windows 10 Anniversary Update and Windows Server 2016.|
|PowerShell 5.0||Feb-2016||Released in Windows Management Framework (WMF) 5.0.|
|PowerShell 4.0||Oct-2013||Integrated in Windows 8.1 and with Windows Server 2012 R2. Installable on Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2012.|
|PowerShell 3.0||Oct-2012||Integrated in Windows 8 and with Windows Server 2012. Installable on Windows 7 SP1, Windows Server 2008 SP1, and Windows Server 2008 R2 SP1.|
|PowerShell 2.0||Jul-2009||Integrated in Windows 7 and Windows Server 2008 R2. Installable on Windows XP SP3, Windows Server 2003 SP2, and Windows Vista SP1.|
|PowerShell 1.0||Nov-2006||Installable on Windows XP SP2, Windows Server 2003 SP1 and Windows Vista. Optional component of Windows Server 2008.|