PowerShell 7.0 Generally Available.
What is PowerShell 7?
PowerShell 7 is the latest major update to PowerShell, a cross-platform (Fenêtres, Linux, and macOS) automation tool and configuration framework optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REPOS APIs, and object models. PowerShell includes a command-line coquille, object-oriented scripting language, and a set of tools for executing scripts/cmdlets and managing modules.
After three successful releases of PowerShell Cœur, we couldn’t be more excited about PowerShell 7, the next chapter of PowerShell’s ongoing development. Avec PowerShell 7, in addition to the usual slew of new cmdlets/APIs and bug fixes, we’re introducing a number of new features, y compris:
- Pipeline parallelization with
ForEach-Object -Parallel
- New operators:
- Ternary operator:
a ? b : c
- Pipeline chain operators:
||
et&&
- Null coalescing operators:
??
et??=
- Ternary operator:
- A simplified and dynamic erreur view and
Get-Error
cmdlet for easier investigation of errors - A compatibility layer that enables users to import modules in an implicit Fenêtres PowerShell session
- Automatic new version notifications
- The ability to invoke to invoke DSC resources directly from PowerShell 7 (experimental)
The shift from PowerShell Core 6.x to 7.0 also marks our move from .FILET Core 2.x to 3.1. .FILET Cœur 3.1 brings back a host of .FILET Framework APIs (especially on Fenêtres), enabling significantly more backwards compatibility with existing Fenêtres PowerShell modules. This includes many modules on Fenêtres that require Interface graphique functionality like Out-GridView
et Show-Command
, as well as many role management modules that ship as part of Fenêtres.
Awesome! How do I get PowerShell 7?
D'abord, check out our install docs for Fenêtres, 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.
En plus, you may want to use one of our many Docker container images.
What operating systems does PowerShell 7 soutien?
PowerShell 7 supports the following operating systems on x64, y compris:
- Fenêtres 7, 8.1, et 10
- Serveur Windows 2008 R2, 2012, 2012 R2, 2016, et 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL) / CentOS 7+
- Fedora 29+
- Debian 9+
- Ubuntu 16.04+
- openSUSE 15+
- Alpine Linux 3.8+
- ARM32 and ARM64 flavors of Debian and Ubuntu
- ARM64 Alpine Linux
Attendez, what happened to PowerShell “Core”?
Much like .FILET decided to do with .FILET 5, we feel that PowerShell 7 marks the completion of our journey to maximize backwards compatibility with Fenêtres PowerShell. To that end, we consider PowerShell 7 and beyond to be the one, vrai PowerShell going forward.
PowerShell 7 will still be noted with the edition “Core” in order to differentiate 6.x/7.x from Fenêtres PowerShell, mais en général, 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, y compris:
- Azuré PowerShell (
Az.*
) - Annuaire actif
- Many of the modules in Fenêtres 10 et Serveur Windows (check with
Get-Module -ListAvailable
)
On Fenêtres, 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 Fenêtres PowerShell process to implicitly run any cmdlets contained in that module.
For those modules still incompatible, we’re working with a number of teams to add native PowerShell 7 soutien, including Microsoft Graph, Bureau 365, et plus.