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.