Microsoft announces generally available release of PowerShell 7.0

    Microsoft announces generally available release of PowerShell 7.0

    Microsoft announces generally available release of PowerShell 7.0


    Last Updated: 05 Mar 2020 at 15:15

    Today, we’re happy to announce the Generally Available (GA) release of PowerShell 7.0! Before anything else, we’d like to thank our many, many open-source contributors for making this release possible by submitting code, tests, documentation, and issue feedback. PowerShell 7 would not have been possible without your help.

    What is PowerShell 7?

    For those unfamiliar, PowerShell 7 is the latest major update to PowerShell, a cross-platform (Windows, Linux, and macOS) automation tool and configuration framework optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. PowerShell includes a command-line shell, object-oriented scripting language, and a set of tools for executing scripts/cmdlets and managing modules.

    Three years ago, we announced PowerShell Core 6 as a completely new edition of PowerShell. Built on top of .NET Core, PowerShell Core introduced cross-platform support across Windows, macOS, and Linux, SSH-based PowerShell Remoting, massively improved support for REST and JSON, official Docker containers, and more. Additionally, it was the first release of PowerShell made under an open-source license (MIT), encouraging long-time PowerShell enthusiasts and complete newcomers alike to contribute directly to the source code, tests, and documentation.

    After three successful releases of PowerShell Core, we couldn’t be more excited about PowerShell 7, the next chapter of PowerShell’s ongoing development. With PowerShell 7, in addition to the usual slew of new cmdlets/APIs and bug fixes, we’re introducing a number of new features, including:

    • Pipeline parallelization with ForEach-Object -Parallel
    • New operators:
      • Ternary operator: a ? b : c
      • Pipeline chain operators: || and &&
      • Null conditional operators: ?? and ??=

    • A simplified and dynamic error view and Get-Error cmdlet for easier investigation of errors
    • A compatibility layer that enables users to import modules in an implicit Windows PowerShell session
    • Automatic new version notifications
    • The ability to invoke to invoke DSC resources directly from PowerShell 7 (experimental)

    For a more complete list of features and fixes, check out the PowerShell 7.0 release notes.

    The shift from PowerShell Core 6.x to 7.0 also marks our move from .NET Core 2.x to 3.1. .NET Core 3.1 brings back a host of .NET Framework APIs (especially on Windows), enabling significantly more backwards compatibility with existing Windows PowerShell modules. This includes many modules on Windows that require GUI functionality like Out-GridView and Show-Command, as well as many role management modules that ship as part of Windows. For more info, check out our module compatibility table showing off how you can the latest, up-to-date modules that work with PowerShell 7.

    If you weren’t able to use PowerShell Core 6.x in the past because of module compatibility issues, this might be the first time you get to take advantage of some of the awesome features we already delivered since we started the Core project!

    Awesome! How do I get PowerShell 7?

    How to Install PowerShell 7.0 in Windows 7, Windows 8, and Windows 10

    First, check out our install docs for Windows, macOS, or Linux. Depending on the version of your OS and preferred package format, there may be multiple installation methods.

    If you already know what you’re doing, and you’re just looking for a binary package (whether it’s an MSI, ZIP, RPM, or something else), hop on over to our latest release tag on GitHub.

    Additionally, you may want to use one of our many Docker container images. For more information on using those, check out our PowerShell-Docker repo.

    What operating systems does PowerShell 7 support?

    PowerShell 7 supports the following operating systems on x64, including:

    • Windows 7, 8.1, and 10
    • Windows Server 2008 R2, 2012, 2012 R2, 2016, and 2019
    • macOS 10.13+
    • Red Hat Enterprise Linux (RHEL) / CentOS 7+
    • Fedora 29+
    • Debian 9+
    • Ubuntu 16.04+
    • openSUSE 15+
    • Alpine Linux 3.8+

    Additionally, we support ARM32 and ARM64 flavors of Debian and Ubuntu, as well as ARM64 Alpine Linux.

    While not officially supported, the community has also provided packages for Arch and Kali Linux.

    If you need support for a platform that wasn’t listed here, please file a distribution request on GitHub (though it should be noted that we’re ultimately limited by what’s supported by .NET Core 3.1).

    Wait, what happened to PowerShell “Core”?

    Much like .NET decided to do with .NET 5, we feel that PowerShell 7 marks the completion of our journey to maximize backwards compatibility with Windows PowerShell. To that end, we consider PowerShell 7 and beyond to be the one, true PowerShell going forward.

    PowerShell 7 will still be noted with the edition “Core” in order to differentiate 6.x/7.x from Windows PowerShell, but in general, you will see it denoted as “PowerShell 7” going forward.

    Which Microsoft products already support PowerShell 7?

    Any module that is already supported by PowerShell Core 6.x is also supported in PowerShell 7, including:


    On Windows, we’ve also added a -UseWindowsPowerShell switch to Import-Module to ease the transition to PowerShell 7 for those using still incompatible modules. This switch creates a proxy module in PowerShell 7 that uses a local Windows PowerShell process to implicitly run any cmdlets contained in that module. For more information on this functionality, check out the Import-Module documentation.

    For those modules still incompatible, we’re working with a number of teams to add native PowerShell 7 support, including Microsoft Graph, Office 365, and more.

    Azure Cloud Shell has already been updated to use PowerShell 7, and others like the .NET Core SDK Docker container images and Azure Functions will be updated soon.

    How is PowerShell 7 officially supported by Microsoft?

    As with PowerShell Core, PowerShell 7 is a supported product for a wide range of customers with existing Microsoft support agreements.

    With PowerShell 7, we’re moving to a support lifecycle whereby we match the lifecycle of the underlying .NET runtime that we distribute as part of PowerShell. This means that PowerShell 7.0 is a long-term servicing (LTS) release that will be supported for approximately 3 years from December 3, 2019 (the release date of .NET Core 3.1).

    You can find more info about PowerShell’s support lifecycle at https://aka.ms/pslifecycle

    What’s next for PowerShell?

    We’re already hard at work on PowerShell 7.1, and you should expect its first preview soon, chock full of new features and bugfixes that didn’t quite make it into 7.0. Stay tuned for a more in-depth roadmap blog outlining our current investigations and desires for 7.1.

    As noted above, we’re also moving to an annual release cadence in order to align better with .NET releases and their support lifecycle (with previews continuing to release roughly every month).

    How can I give feedback on PowerShell 7?

    For most issues directly related to PowerShell 7, start by filing an issue on the main PowerShell repository. For issues related to specific modules (e.g. PSReadline or PowerShellGet), make sure to file in the appropriate repository.

    Thanks again!

    Much appreciation to everyone involved in this release, from multi-time contributors all the way to those of you keeping up with our preview releases. We couldn’t have done it without you!
    Joey Aiello

    PM, PowerShell


    Source: https://devblogs.microsoft.com/power...owerShell-7-0/

    How to Install PowerShell 7.0 in Windows 7, Windows 8, and Windows 10



    Brink's Avatar Posted By: Brink
    04 Mar 2020


  1. Posts : 10,311
    Wndows 10 Pro x64 release preview channel
       #1

    Thanks for the heads up Brink. Very fast progress from RC3

    If you have PS 7.0 RC3 installed when installing this version you have to select uninstall first and when uninstall has finished re-run the installation. If you don't PS keeps showing as RC3.
    Last edited by DooGie; 04 Mar 2020 at 16:52.
      My Computer


  2. Posts : 7,901
    Windows 11 Pro 64 bit
       #2

    Is this automatically installed via Windows Update?
      My Computers


  3. Posts : 148
    windows 10 rs3
       #3

    Probably not, it does not mention that. Get it online and install if you need it.
      My Computer


  4. Posts : 3,352
    Windows 10 Pro x64
       #4

    er557 said:
    Probably not, it does not mention that. Get it online and install if you need it.
    Why would I need it? Although I'm guessing if I have to ask that question, I don't.
      My Computer


  5. Posts : 197
    Windows 11 Home
       #5

    larc919 said:
    Why would I need it? Although I'm guessing if I have to ask that question, I don't.
    Correct I am on the same boat with you. Don't need it.

    But, this is awesome. Powershell is doing huge things. Is pretty incredible how far along it has come.
      My Computer


  6. Posts : 68,894
    64-bit Windows 11 Pro for Workstations
    Thread Starter
       #6
      My Computers


  7. Posts : 4,224
    Windows 10
       #7

    Blogged about this for Win10.Guru. Next up: a short article on how to update the WinKey+X menu to invoke PS7, plain-vanilla and admin mode. Stay tuned! Here's a link to that first post: PowerShell 7 Hits General Availability (GA Release)
    --Ed--
      My Computers


  8. Posts : 3,453
       #8

    larc919 said:
    Why would I need it? Although I'm guessing if I have to ask that question, I don't.
    As cool as it is...? Nope, current PS is fine - they are extending it unnecessarily.

    Standard users (for which I assume scripting is for) certainly would not need:


    • Ternary operator: a ? b : c (what's wrong with... if {} else{} )
    • Pipeline chain operators: || and && ( -or -and )
    • Null conditional operators: ?? and ??= ( if {$_ } (-ne) -eq $null )

    I guess as .Net Core encompasses more Framework stuff it will grow exponentially.

    My fear is it will scare people away from using it ( eg. -or is much easier to learn than || if you are not coming from a C background)
    Last edited by Superfly; 08 Mar 2020 at 02:15. Reason: typo's...(as usual :p)
      My Computer


  9. Posts : 512
    Windows 11 Pro( x64) Ver. DEV.CHANNEL 22518.1012 RS_Prerelease
       #9

    Microsoft announces generally available release of PowerShell 7.0-annotation-2020-03-08-110513aaa.png
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 18:06.
Find Us




Windows 10 Forums