PowerShell version history
Table of Contents
I. Introduction
In this chapter, we're going to talk about the different versions of PowerShell since this language has evolved greatly over the years, so much so that 2018 has entered a new era to support Linux and macOS, in addition to Windows. Today, PowerShell is a cross-platform language.
Indeed, when it comes to PowerShell, there are two distinct products: PowerShell and Windows PowerShell, which it's important not to confuse.
II. Windows PowerShell vs PowerShell
Windows PowerShell is the version of PowerShell integrated into Windows and Windows Server, and is based on Microsoft's .NET framework. As a result, this version can only be run on Windows. Today, Windows PowerShell 5.1 is the latest version of this product, and there will be no more: PowerShell has taken over.
PowerShell, originally called PowerShell Core, refers to the version of PowerShell based on the new generation of the .NET framework, called .NET Core, which has the advantage of being compatible with Linux and macOS. As a result, PowerShell is available on all three operating systems. New versions are released regularly, several times a year. The latest version available at the time of writing is PowerShell 7.4.1.
It's important to note that on a Windows machine, you can use Windows PowerShell and PowerShell in parallel. This is because installation paths are different, as are executable names and environment customization profiles.
III. Overview of PowerShell versions
Here's an overview of the major and important PowerShell versions, accompanied by a description and their respective release dates.
A. PowerShell 1.0
Released in November 2006, it introduced the concept of PowerShell to Windows, and was the first version introduced to the Windows operating system. In the event, this version was available in Windows Server 2008, although it is possible to install it on older systems such as Windows Server 2003 and Windows XP SP2/SP3.
B. PowerShell 2.0
In October 2009, Microsoft released PowerShell 2.0, a version integrated by default into Windows 7 and Windows Server 2008 R2.
C. PowerShell 3.0
In September 2012, Microsoft released PowerShell 3.0, and the new generation of Windows operating systems were able to benefit directly from it: Windows 8 and Windows Server 2012.
D. PowerShell 4.0
Released in October 2013, PowerShell 4.0 is the version present by default in Windows 8.1 and Windows Server 2012 R2. This is the first version of PowerShell to add support for PowerShell DSC (Desired State Configuration), which is a powerful solution for managing server configuration.
E. PowerShell 5.0
In February 2016, PowerShell 5.0 was released by Microsoft and is the version introduced in the first version of Windows 10.
Then, in August 2016, Microsoft released PowerShell 5.1 for Windows Server 2016 and Windows 10 v1607(Anniversary Update). On older systems, from Windows 7 and Windows Server 2008 R2 SP1 upwards, it was also possible to take advantage of this by installing the "Windows Management Framework 5.1"on your machine.
On the latest versions of Windows 10, on Windows 11, and on Windows Server from Windows Server 2016 to Windows Server 2025, Windows PowerShell 5.1 is always integrated by default.
F. PowerShell Core 6.0
Released in January 2018, PowerShell Core 6.0 is a milestone for PowerShell as this version is the first to be compatible with Linux and macOS, in addition to Windows. PowerShell is supported on several Linux distributions, including Debian, Ubuntu, openSUSE, Fedora, Oracle Linux, and Red Hat Enterprise Linux. As far as macOS is concerned, PowerShell is supported from macOS Sierra (10.12) onwards.
At that time, it was renamed "PowerShell Core" to distinguish it from the original Windows version, called "Windows PowerShell". However, this suffix was later dropped.
This version is not installed by default on Windows! You must install it manually.
G. PowerShell 7.0
Released in March 2020, PowerShell 7.0 brought performance improvements and other features, but also marked a return to the simple "PowerShell" moniker, dropping "Core" from the name.
Among the new features added to this version, we can mention a few:
- Added a new syntax for "if-else" conditional structures, based on the following model "
? : - Test whether a variable is null ($null) with the "??" operator.
- Add "-Parallel" parameter for Foreach-Object.
- Added a notification system in the console to warn the user when a new version is available.
- Added "Select-String" support for easy file searching (like a Linux grep).
Microsoft then released several minor versions of PowerShell :
- PowerShell 7.1, November 11, 2020
- PowerShell 7.2, on November 8, 2021, which adds support for deploying updates via Windows Update
- PowerShell 7.3, November 9, 2022
- PowerShell 7.4, November 16, 2023
- PowerShell 7.4.1, January 11, 2024
It should be noted that the current version, PowerShell 7.4.X, is based on .NET 8.0. PowerShell 7.5 is currently in preview release, and is based on .NET 8.0.1.
IV. PowerShell life cycle
As with other Microsoft products, each PowerShell version has a support start and end date. Microsoft publishes LTS versions of PowerShell, i.e. with longer support based on an LTS version of .NET Core, as well as intermediate versions.
Intermediate versions may contain security patches and new features, while LTS versions only receive security and bug fixes. For example, support for PowerShell 7.4, the current LTS version, will end on November 10, 2026.
On the Windows PowerShell side, things are a little different, as support follows Windows operating system support. In other words, Windows PowerShell 5.1 is still supported today, as this version is integrated into Windows 11.
To find out more about support for each version, including on different systems, visit this page :
V. The PowerShell roadmap
Unlike what Microsoft offers with Microsoft 365 services, the U.S. company doesn't provide a page that lets you keep track of what's planned for PowerShell, or even what's under development.
It's a good idea to follow the news to keep abreast of what's new, and to consult the official PowerShell GitHub to get an overview of the latest changes, particularly by looking at the "Preview" versions.
In the next chapter, we'll look at several good reasons to learn PowerShell, just in case you're not yet convinced!