Microsoft release of the shell , the source code of which was opened in 2016 under the MIT license. The new release of the shell is available not only for Windows but also for Linux and macOS.
PowerShell is optimized for automating command line operations and provides built-in tools for processing structured data in formats such as JSON, CSV, and XML, as well as supporting REST APIs and object models. In addition to the shell, an object-oriented scripting language and a set of utilities for managing modules and scripts are offered. Starting from PowerShell 6, the project has been developed using the .NET Core platform. By default, PowerShell describing the OS and program version (to disable telemetry, the environment variable POWERSHELL_TELEMETRY_OPTOUT=1 must be set before launch).
Among the innovations added in PowerShell 7.0:
- Support for parallel execution of pipelines using the 'ForEach-Object -Parallel' construct;
- Conditional assignment operator 'a ? b : c';
- Conditional thread launch operators '||' and '&&' (for example, cmd1 && cmd2, where the second command will only execute if the first command is successful);
- Logical operators '??' and '??=' that return the right operand if the left operand is NULL (for example, a = b ?? 'default string' if b is null, the operator will return the default string);
- Improved dynamic error viewing system (Get-Error cmdlet);
- A compatibility layer for modules for Windows PowerShell;
- Automatic notification of a new version availability;
- Ability to call DSC (Desired State Configuration) resources directly from PowerShell.
Source: opennet.ru
