Microsoft delivers PowerShell Core for Windows, Linux, macOS

Microsoft is making generally available PowerShell Core 6.0, a version of PowerShell built on .NET Core that runs not just on Windows, but also macOS and Linux. But beware breaking changes.
Written by Mary Jo Foley, Senior Contributing Editor

Video: Microsoft democratizes AI adding it to core products and services

Microsoft has made generally available PowerShell Core, its cross-platform version of the PowerShell command-line shell and scripting language.

On Jan. 10, Microsoft delivered PowerShell Core 6.0 (its first PowerShell Core release, in spite of the 6.0 moniker). Like its .NET Core counterpart, PowerShell Core is a cross-platform implementation of PowerShell.

"This is the biggest and most important change we've ever made to PowerShell!" tweeted Microsoft Technical Fellow and the father of PowerShell Jeffrey Snover.

PowerShell Core runs on Windows 7, 8.1 and 10; Windows Server 2008 R2, 2012 R2, 2016 and "Semi-Annual Channel" (the twice-annual feature update to Server); macOS 10.12 and above; and a variety of Unix flavors, including Ubuntu, Debian, CentOS, Red Hat Enterprise Linux, OpenSUSE and Fedora.

As is the case with .NET, there are now two distinct branches of PowerShell: Windows PowerShell, built on .NET Framework, and PowerShell Core, built on .NET Core. Microsoft is not planning to release any new versions of Windows PowerShell. The 5.1 release is the last of that line, but will be supported for the foreseeable future. PowerShell Core can work side-by-side with Windows PowerShell.

Again, as in the case of .NET, Microsoft isn't supporting every feature in the Core version that was available in the original Windows version. PowerShell Workflows, Snap-ins, WMlv1 cmdlets; and the ability to execute Desired State Configuration (DSC) resources using PowerShell Core aren't currently supported in Core. According to Microsoft's blog post, "some of these (unsupported) technologies may eventually return to PowerShell Core, but many will not."

Other breaking changes between PowerShell Core and Windows PowerShell mean IT pros need to examine "every single existing script," warned consultant Michael B. Smith. He said the Core version won't automatically work with Exchange, Active Director or Skype for Business.

Microsoft's blog post notes that "unless a module is explicitly supported in PowerShell Core by Windows or by the product group, there is no guarantee that it will work with PowerShell Core."

PowerShell Core is going to be regularly and constantly updated like Windows and Office 365, according to Microsoft's blog post.

PowerShell Core is another indication of Microsoft's evolving strategy to make its tools, software, and services work not only on multiple flavors of Windows, but on other operating systems, as well.

Microsoft open-sourced PowerShell and announced plans to bring it to Linux and macOS in 2016, simultaneous with the alpha release of PowerShell Core.

Editorial standards