Microsoft is shipping PowerShell 7.0, a major update to the cross-platform automation tool and configuration framework. Highlights of the new version, introduced March 4, include pipeline parallelization and new operators.
PowerShell 7.0 introduces the new Parallel
parameter for the ForEach-Object
cmdlet, allowing you to run a script block in parallel for each element in a collection by using the ForEach-Object -Parallel
syntax.
PowerShell 7.0 introduces new operators as well, including a ternary operator identified as a ? b :c
, and pipeline chain operators, ||
and &&
. Null conditional operators include ??
and ??=
.
Other capabilities in PowerShell 7.0 include:
- A simplified, dynamic error view.
- A
GetError
cmdlet to ease error investigations. - A compatibility layer for importing modules in an implicit Windows PowerShell session.
- Invoking of DSC (Desired State Configuration) resources directly from PowerShell 7.0. This is an experimental feature.
- Automatic notifications of new versions.
PowerShell runs on Windows, Linux, or MacOS and is optimized for dealing with structured data such as JSON, CSV, and XML. A command-line shell and object-oriented scripting language are featured, as well.
PowerShell 7.0 installs to a new directory and runs side-by-side with Windows PowerShell 5.1. It is an in-place upgrade for PowerShell Core 6.x. A binary package of PowerShell 7.0 can be installed from GitHub; Docker container images are also available.
PowerShell 7.0 follows the announcement three years ago of PowerShell Core 6, a community edition of the tool, built on top of open source .NET Core, that introduced cross-platform support. PowerShell 7.0 marks a shift to .NET Core 3.1.
Copyright © 2020 IDG Communications, Inc.