On January, 10, 2018, MS augmented the PowerShell capabilities built into Windows 10 and Windows Server 2016 with an external version. Called PowerShell Core 6.0, it’s cross-platform version of PowerShell that works on Windows, macOS, and Linux. It’s also open source, built for multi-OS environments and the cloud. You can meet PowerShell Core 6.0 through posts on the PowerShell Team Blog, or grab Windows and/or Linux/macOS versions for download.
Meet PowerShell Core 6.0, Contrast with Built-in PowerShell
The built-in version is the same one that’s been around for the past decase or so. It depends on the .NET framework, which is why it only works on Windows. Released version numbers for PowerShell include 1.0, 2.0, 3.0, 4.0, 5.0 and 5.1 (the most current version in the latest Win10 is 5.1.17763.134). This version launches as powershell. exe, and uses the .NET Framework runtime to support C# cmdlets, invocation of station .NET methods, and so forth. It is still supported via bug fixes in newest releases of Win10 and Windows Server.
PowerShell Core is a different animal. It runs on top of the inherently cross-platform code base called .NET core. It launches as pwsh.exe in Windows and as pwsh on Linux and macOS. PowerShell Core is limited to functionality in .NET Core and .NET Standard. PowerShell Core works on Windows desktop versions 7, 8.1, and 10, Server versions 2008 R2, 2012 R2, and 20016, Ubuntu 14.04, 16.04, and 17.04, Debian 8.7+ and 9, CentOS 7, RHEL 7, OpenSuse 42.2, Fedora 25 and 26, and macOS 10.12 and higher-numbered versions. Other unofficial packages support various other Linux distributions (Arch, Kali and AppImage) and Windows on ARM32/ARM64 or Raspbian (Stretch). The best way to dig into what’s new, cool and interesting in PowerShell Core 6.0 is to read What’s New In PowerShell Core 6.0 (or 6.1).
On Windows 5.1 and 6.1 run happily side-by-side
This screen capture shows 5.1 and 6.2 preview running happily in separate windows on my 1809 production PC.
The color scheme for Core PowerShell is different from that for .NET/built-in PowerShell and makes them easy to distinguish.
[Click image for full-sized view.]
If you work in multi-OS computing environments, chances are pretty high that at least some of those other OSes are a Linux variant and/or macOS. Across many important such options, plus Windows, PowerShell Core has you covered. You owe yourself to check this out!