PowerShell 7.2.1 releases: PowerShell for every system

PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that 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.

PowerShell Core

What’s the difference between Windows PowerShell and PowerShell Core?

There are now two editions of PowerShell:

Windows PowerShell is the edition of PowerShell built on top of .NET Framework
(sometimes referred to as “FullCLR”):

  • This is the PowerShell that has been in widespread use for the last ~10 years.
  • Because of it’s dependency on the .NET Framework, Windows PowerShell is only available on Windows (hence the name).
  • The released versions of Windows PowerShell include 1.0, 2.0, 3.0, 4.0, 5.0, and 5.1.
  • Windows PowerShell is available as a built-in component in Windows client and Windows Server.
  • Windows PowerShell is launched as powershell.exe.
  • On Windows PowerShell 5.0/5.1, $PSVersionTable.PSEdition is set to Desktop.
  • Any usage of .NET-based functionality (e.g. C# cmdlets, Add-Type, and the invocation of static .NET Methods), relies on the .NET Framework runtime. This means Windows PowerShell’s .NET usage is limited to the functionality exposed by the .NET Framework and .NET Standard.
  • Continues to be supported via critical bug fixes in the newest releases of Windows and Windows Server

PowerShell Core is the edition of PowerShell built on top of .NET Core
(sometimes simplified to “CoreCLR”).

  • PowerShell Core is cross-platform, available on Windows, macOS, and Linux, thanks to the cross-platform nature of .NET Core.
  • PowerShell Core is launched as pwsh.exe on Windows and pwsh on macOS and Linux
  • On PowerShell Core, $PSVersionTable.PSEdition is set to Core.
    Note: while PowerShell Core 6.0 is cross-platform, there is also a PowerShell Core 5.0/5.1 released exclusively as part of Microsoft Nano Server.
  • Any usage of .NET-based functionality (e.g. C# cmdlets, Add-Type, and the invocation of static .NET Methods), relies on the .NET Core runtime. This means PowerShell Core is limited to the functionality exposed by .NET Core and .NET Standard.

PowerShell Core is officially supported on the following platforms:

  • 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+

Our 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)

Changelog v7.2.1

General Cmdlet Updates and Fixes

  • Remove declaration of experimental features in Utility module manifest as they are stable (#16460)
  • Bring back pwsh.exe for framework dependent packages to support Start-Job (#16535)
  • Change default for $PSStyle.OutputRendering to Ansi (Internal 18394)
  • Update HelpInfoUri for 7.2 release (#16456)
  • Fix typo for “privacy” in MSI installer (#16407)

Tests

  • Set clean state before testing UseMU in the MSI (#16543)

Build and Packaging Improvements

  • Add explicit job name for approval tasks in Snap stage (#16579)
  • Fixing the build by removing duplicate TSAUpload entries (Internal 18399)
  • Port CGManifest fixes (Internal 18402)
  • Update CGManifest (Internal 18403)
  • Updated package dependencies for 7.2.1 (Internal 18388)
  • Use different containers for different branches (#16434)
  • Use notice task to generate license assuming CGManifest contains all components (#16340)
  • Create compliance build (#16286)
  • Update release instructions with link to new build (#16419)
  • Add diagnostics used to take corrective action when releasing buildInfoJson (#16404)
  • vPack release should use buildInfoJson new to 7.2 (#16402)
  • Add checkout to build json stage to get ci.psm1 (#16399)
  • Update the usage of metadata.json for getting LTS information (#16381)
  • Move mapping file into product repo and add Debian 11 (#16316)

Download