PowerShell vs. PowerShell Core

PowerShell Core 6.0 is a new edition of PowerShell, it is automation and configuration tool/framework that is cross-platform (Windows, macOS and Linux), open-source, and built for heterogeneous environments.

Microsoft sees PowerShell Core as an evolution of PowerShell. It works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.

Main difference between Windows 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 now officially supports macOS and Linux, including:

  • Windows 7, 8.1, and 10
  • Windows Server 2008 R2, 2012 R2, 2016
  • Windows Server Semi-Annual Channel
  • Ubuntu 14.04, 16.04, and 17.04
  • Debian 8.7+, and 9
  • CentOS 7
  • Red Hat Enterprise Linux 7
  • OpenSUSE 42.2
  • Fedora 25, 26
  • macOS 10.12+

Community has also contributed packages for the following platforms, but they are not officially supported:

  • Arch Linux
  • Kali Linux
  • AppImage (works on multiple Linux platforms)
For more information and download: PowerShell Core