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 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 :
|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.