What does the name PowerShell refer to?
PowerShell is a command-line shell and scripting language that is built on top of the .NET Framework. It can be used to automate tasks, deal with structured data (e.g. JSON, CSV, XML, etc.), interact with REST APIs, and more.
Powershell is available in two editions: Desktop and Core. The Desktop edition is available on Windows 7/8/10/11, Windows Server 2019/2022, and in later versions of Windows. The Core edition is cross-platform and is available on Windows, macOS, and Linux. 1
Key differences between PowerShell Desktop and PowerShell Core
The following table summarizes the key differences between PowerShell Desktop and PowerShell Core.
Property | PowerShell Desktop | PowerShell Core |
---|---|---|
Cross-platform | No | Yes |
Open-source | No | Yes, available on GitHub |
Availability | Windows 7/8/10/11, Windows Server | Windows, macOS, Linux, Windows Nano Server and Windows IoT |
Other name(s) | Windows PowerShell | - |
Versions 2 (as of Apr 2023) | 1.0, 2.0, 3.0, 4.0, 5.0, 5.1 | 6.0, 6.1, 6.2, 7.0, 7.1, 7.2 |
Built on top of | .NET Framework | .NET Core |
Note that if someone refers to PowerShell 6.0, 7.0, 7.1, or 7.2, they are referring to PowerShell Core. Similarly, if someone refers to Windows PowerShell 5.0 or 5.1, they are referring to PowerShell Desktop.
In short, PowerShell Desktop is the Windows-only version of PowerShell. It is built on top of the .NET Framework and is available on Windows 7 (onwards) and on Windows Server. It is also known as Windows PowerShell.
PowerShell Core is the cross-platform version of PowerShell. It is built on top of .NET Core and is available on Windows, macOS, and Linux.
Which version of PowerShell do you have?
Windows PowerShell comes pre-installed on Windows OS, while PowerShell Core is cross-platform tool which can be installed on Windows, Linux, and macOS.
To check which edition of PowerShell you’re using, simply enter the following command in your PowerShell terminal:
$PSVersionTable
This will display the version, edition, and other information about your PowerShell. For example, if you’re using PowerShell Desktop on Windows 10/11, you’ll see something like this:
Name Value
---- -----
PSVersion 5.1.19041.1320
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
What can you do to clear up confusion about PowerShell versions and editions?
It’s important to be specific about the version and edition of PowerShell you are using when writing, talking, or posting about it on social media or forums. This will help others understand what you are talking about and avoid confusion.
- If you are on Linux or macOS, use the term ‘PowerShell Core’ instead of PowerShell.
- If you are using the default PowerShell on your Windows machine, use the term ‘Windows PowerShell’ (or PowerShell Desktop) instead of PowerShell.