Microsoft Brings PowerShell Core to Windows, macOS, and Linux

Posted on January 11, 2018 by Paul Thurrott in Windows 10 with 20 Comments

Microsoft announced this week that it has made the initial release of PowerShell Core available on Windows, macOS, and Linux. Confusingly, this first release is called PowerShell 6.0.

“This is the biggest and most important change we’ve ever made to PowerShell!” Microsoft Technical Fellow and PowerShell creator Jeffrey Snover tweeted.

Put simply, PowerShell Core is a new, cross-platform version of PowerShell that is built on .NET Core instead of the .NET Framework. So with this release, there are now two PowerShell editions: The classic Windows PowerShell, formerly codenamed Monad, that we’ve been using on Windows for the past decade and PowerShell Core.

From a functional perspective, Windows PowerShell is still more powerful, in that it can take advantage of a bigger and more set of .NET capabilities that are exposed by the .NET Framework and .NET Standard. PowerShell Core relies on the newer, cleaner, but less capable .NET Core runtime, which limits its functionality to what’s available today in .NET Core and .NET Standard.

But the advantage to PowerShell Core—like .NET Core—is that it’s cross-platform compatible. So any scripts that you write for PowerShell Core will work across Windows, macOS, and various newer Linux distributions, like Ubuntu, Debian, Red Hat Enterprise, and others. There are also experimental versions available for both Windows 10 on ARM and Raspian, the Raspberry Pi-based system.

And on that note, PowerShell Core is the modern successor to Windows PowerShell. That prior Windows-only release ends at version 5.1, which explains why PowerShell Core starts at version 6.0.

“There are currently no plans to introduce new functionality to Windows PowerShell,” Microsoft’s Joey Aiello writes. “You can count on it as a stable platform for your existing workloads.”

Microsoft also explains which Windows PowerShell features are missing in PowerShell Core.

“As part of the move to .NET Core and other operating systems, we were forced to leave behind some technologies that were being used by Windows PowerShell,” Aiello explains. “In other cases, we took the opportunity of PowerShell being refactored to stop supporting lesser used technologies. Some of these technologies may eventually return to PowerShell Core, but many will not.”

PowerShell Workflows, PowerShell Snap-ins, Windows Management Instrumentation (WMI) 1.0 cmdlets, and support for Desired State Configuration (DSC) resource execution are among the missing in action in PowerShell Core 6.0, Microsoft says.

Download PowerShell Core for Windows or for macOS or Linux.


Tagged with , , ,

Elevate the Conversation!

Join Thurrott Premium to enjoy our Premium comments.

Premium member comments on news posts will feature an elevated status that increases their visibility. This tab would allow you to participate in Premium comments with other premium members. Register to join the other Premium members in elevating the conversation!

Register or Subscribe

Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate