Difference between PowerShell and PowerShell Core

Microsoft has released PowerShell Core, a new version of PowerShell. This new version of PowerShell is available on all the major computing platforms including Windows, Linux, and MacOS. Well, the latest version of Windows 10, comes out of the box with PowerShell 5.1, and this latest version of PowerShell Core v6.0.

PowerShell and PowerShell Core

PowerShell is a command line shell and scripting language from Microsoft. It ships with the Windows operating system, and it first made its appearance in 2006.

Well, now we do have two publically available editions of PowerShell. The first is the PowerShell v5.1, and the second one is the newer PowerShell Core v6.0.

Difference between PowerShell & PowerShell Core

The first and foremost difference is as we know that PowerShell Core is cross-platform and runs on Windows, Linux, and MacOS while the old one runs on Windows only.

If you are curious, you can run PowerShell Core on unsupported ARM versions as well, but that is buggy and is expected to throw some errors.

PowerShell Core will be provided with new feature updates and fixes while the older PowerShell will just be provided bug fixes and security updates. This is an official statement from Microsoft about the same :

However, there are currently no plans to introduce new functionality to Windows PowerShell. This means that the risk of regression will be very low for Windows PowerShell, so you can count on it as a stable platform for your existing workloads.

Secondly, PowerShell Core is not as powerful as PowerShell that comes out of the box with Windows. The reason behind this is that the new PowerShell uses the less feature-rich .NET Core and .NET Standard and the older one uses older .NET Framework and .NET Standard.

The reason behind this is that .NET Core is new, and Microsoft needs time to make it as powerful as .NET Framework is now.

Microsoft says that PowerShell Workflows, PowerShell Snap-ins, WMIv1 cmdlets and executing Desired State Configuration resources specifically.

Now, without much paraphrasing let me just insert all the details in a tabular form :

Attributes PowerShell PowerShell Core
Versions 1.0 to 5.1 6
Platforms Supported Only Windows (Client + Server) Windows, Linux, and MacOS
Dependency .NET Framework .NET Core
Usage Depends on .NET Framework Runtime Depends on .NET Core Runtime
Launched as powershell.exe pwsh.exe on Windows and pwsh on MacOS and Linux
$PSVersionTable.PSEdition Set to Desktop Set to Core
Future Updates for Bug fixes and Security Updates only Feature Update, Bug Fixes as well as Security Updates

Now, if you wish to try out PowerShell Core on your Windows, Linux or MacOS machine head over to the official GitHub repository page of the same here and find the suitable version for you system.

Posted by on , in Category General with Tags
Ayush has been a Windows enthusiast since the day he got his first PC with Windows 98SE. He is an active Windows Insider since Day 1 and is now a Windows Insider MVP. He has been testing pre-release services on his Windows 10 PC, Lumia, and Android devices.