Microsoft explains it knows native commands in PowerShell can be complex, which is why a simpler solution is necessary. “Many of today’s modern native commands are complex, they themselves are mini-shells with their own mini-language containing sub levels, or sub contexts. If you’ve worked with kubectl, docker or netsh.exe, you have experienced the complexity of executing and automating these commands.” According to Microsoft, PowerShell Crescendo wraps common commands to function within cmdlets. This makes it easier by hiding the syntax of commands and reflecting them as objects that dev’s can interact with. PowerShell Crescendo comes with a framework for creating cmdlets for commands, including the following:
Clear naming convention – Verb-Noun Consistent parameter naming for similar uses Output consisting of objects Common method of getting command help Easy to work with objects in a pipeline Easy to share using Modules
Users can get Microsoft.PowerShell.Crescendo now, although only in preview (build 0.4.0), from here. This document also provides extensive details on how the new tool works and how dev’s can leverage it in PowerShell.
PowerShell 7.1
As for PowerShell in general, last month Microsoft launched version 7.1 of its automating and scripting language. While there are no sweeping changes in PowerShell 7.1, it makes some tweaks and additions to version 7. For example, new modules and tooling are available on the build. However, while these are available in the preview, Microsoft says they may not be available for the version 7.1 general release.