Microsoft Releases PowerShell Core 6.1
By Kurt Mackie
Microsoft announced on Thursday that its open source PowerShell Core 6.1 product is now available.
PowerShell Core 6.1 is a scripting tool that's used for DevOps purposes. It's based on the open source .NET Core 2.1 Framework and runs across platforms (Linux, macOS and Windows). It's Microsoft's second product release since it branched the tool off from Windows PowerShell, having released PowerShell Core 6.0 back in January. In general, Microsoft appears to be following a six-month release pattern for new versions of PowerShell Core.
Microsoft still supports Windows PowerShell. However, it's putting its future development efforts behind PowerShell Core when it comes to adding improvements and new features. Windows PowerShell never made it to version 6.0, and when Microsoft first devised PowerShell Core as a new product, it simply stuck the "6.0" label onto it for reasons that make sense up at Redmond headquarters.
Green Light on Module Support
When Microsoft was rolling out PowerShell Core 6.0, there was some concern expressed by Microsoft officials about module support. Joey Aiello, a program manager on the PowerShell team, had suggested back then that module support was still a work in progress. However, in this week's announcement, Aiello expressed no such concerns.
"By far, the biggest feature of this release is compatibility of built-in Windows modules with PowerShell Core," Aiello wrote. "This means that you can natively run those modules/cmdlets with PowerShell Core and easily transition from Windows PowerShell."
PowerShell Core 6.1 is compatible with "1,900+ existing cmdlets in Windows 10 and Windows Server 2019," Microsoft's announcement noted. The support depends on having the Windows Compatibility Pack for .NET Core installed, according to Microsoft's "What's New" document, which provides a full list of all the new PowerShell Core 6.1 features.
Microsoft also highlighted "significant performance improvements" with this release of PowerShell Core 6.1. For instance, the Group-Object cmdlet is now 66 percent faster than its use with PowerShell Core 6.0
IT pros now have a Windows shortcut menu option to run PowerShell Core 6.1 as an administrator. Microsoft also made changes to PowerShell Direct, which is used to remotely connect into a virtual machine on Windows 10 or Windows Server 2016, so that it now uses PowerShell Core first before using Windows PowerShell, according to the "What's New" document.
This release includes cmdlets that can be used to convert or show Markdown-formatted documents within the PowerShell console. The Markdown format is used in tools that convert plain text to HTML. Apparently, these new PowerShell 6.1 Markdown cmdlets can serve as an aid when reading help documents in the PowerShell console, a notion that's described at this GitHub RFC project page.
Microsoft also added "experimental feature flags" to PowerShell Core 6.1, which identifies new features, although they may not be production-use ready. The flags let the experimental features sit together with the established ones. This addition is described as a "highly demanded feature" that Microsoft sees as improving productivity for PowerShell developers, according to this GitHub RFC project page.
PowerShell Core 6.1 reports basic telemetry information to Microsoft by default, but it's possible to opt out. However, IT pros have to change certain variables to make that happen, as described in the "What's New" document.
Modern Lifecycle Support
PowerShell Core, unlike Windows PowerShell, follows the Microsoft Modern Lifecycle Policy, as described in this "PowerShell Core Support Lifecycle" document. In a nutshell, this policy requires accepting all software updates. Moreover, Microsoft just promises to give a one-year advance notice before discontinuing product support.
In the case of PowerShell Core, new software feature updates arrive every six months, so organizations need to update the software within that timeframe to stay current and receive future feature updates. Curiously, though, the lifecycle document suggested that Microsoft may be considering a slower servicing pace for PowerShell Core sometime in the future.
"Eventually, we expect PowerShell Core will adopt the 'long-term servicing' approach where we would require only servicing and security updates to stay in support on a specific branch/version of 6.x," the document stated.
The "PowerShell Core Lifecycle Document" lists the various Windows and Linux platforms that are currently supported when using PowerShell Core 6.1. Some of the Linux distros are listed as "community" supported, which means they are not officially supported by Microsoft.
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.