Skip to main content

PowerShell vs. PowerShell Core, what you need to know

Microsoft announced the general availability of PowerShell Core 6.0 on January 10, 2018.

PowerShell Core is a new version of PowerShell, a command-line shell and scripting language that ships with Microsoft Windows.

The release of PowerShell Core increases the number of PowerShell editions to two. There is the decade-old PowerShell that is integrated into all recent versions of Microsoft’s Windows operating system and the new PowerShell Core.

Microsoft sees PowerShell Core as an evolution of PowerShell. The former is available as a cross-platform application, the latter only for Windows.

powershell core 6.0

The cross-platform nature of PowerShell Core means that scripts that you write will run on any supported operating system. You can write PowerShell Core scripts on Windows, and use them on supported Mac OS X or Linux devices. There are even experimental (unsupported) versions for ARM devices.

Microsoft works actively on PowerShell Core. PowerShell, on the other hand, is in a state that can best be compared to extended support for Windows versions. Microsoft has no plans to add features to PowerShell, but it will release critical bug fixes and security updates.

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.

PowerShell Core installs side by side on Windows. In short: PowerShell Core does not affect Windows PowerShell in any way on Windows devices.

powershell 6.0.0

PowerShell Core 6.0 is not as powerful as PowerShell 5.1. One core reason for that is that PowerShell has access to the .NET Framework and .NET Standard while PowerShell Core to the less-feature-rich .NET Core and .NET Standard.

Some technologies available to Windows PowerShell are not supported by .NET Core. Microsoft notes that some of the technologies may return in future releases but that this won’t be the case for all of them.

The company mentions PowerShell Workflows, PowerShell Snap-ins, WMlv1 cmdlets and executing Desired State Configuration resources specifically. The Breaking changes for PowerShell 6.0 document offers further details. (via gHacks)

The differences between PowerShell and PowerShell Core

  PowerShell PowerShell Core
     
Versions 1.0 to 5.1 6.0
Platforms Windows only (client and server) Windows, Mac OS, Linux
Dependency .Net Framework .Net Core
Usage Relies on .Net Framework runtime Relies on .Net Core runtime
Launched as powershell.exe pwsh.exe (Windows), pwsh (Mac and Linux)
$PSVersionTable.PSEdition Set to Desktop Set to Core
Update policy critical bug fixes only all updates (features, bugs)

PowerShell Core downloads

  • PowerShell Core for Windows is available at this link.
  • PowerShell Core for Mac OS X and Linux is available at this link.

 

This article was first seen on ComTek's "TekBits" Technology News

HOME