Microsoft Commercially Releases PowerShell Crescendo for Wrapping Command-Line Apps

Microsoft on Thursday announced the "general availability" commercial release of PowerShell Crescendo.

PowerShell Crescendo is a new installable module that's used to wrap various "native" utility application command-line tools into PowerShell "commandlets" (cmdlets). It works across platforms and lets users convert the typical text output of these command-line tools into PowerShell objects. The idea is to make things easier for script writers by keeping things within the familiar PowerShell environment.

Users of PowerShell Crescendo get some perks over writing their own wrapper. Here how those benefits were described by Jason Helmick, a Microsoft program manager, per the announcement:

Crescendo amplifies the command-line experience of the original tool to include object output for the PowerShell pipeline, privilege elevation, and integrated help information. A Crescendo module replaces cumbersome command-line tools with PowerShell cmdlets that are easier to use in automation and packaged to share with team members.

With this release of PowerShell Crescendo, Microsoft supports privilege elevation for "Windows, Linux and macOS."

PowerShell Crescendo works with PowerShell 7 or greater, or Windows PowerShell 5.1 or greater. However, users are required to use PowerShell 7 or higher when writing a Crescendo script module.

The process of writing a Crescendo script module is described in a series of PowerShell Community posts by Sean Wheeler, a senior PowerShell content developer at Microsoft. Users create a JavaScript Object Notation file that describes the cmdlets that you want to use, as well as an "output handler" that parses "the output from the native command and return objects."

Basically, users need to "write your own output handler functions that return PowerShell objects," per Microsoft's PowerShell Crescendo "Overview" document.

It was possible to create a PowerShell Crescendo script module in about four hours, which was described as "pretty fast" by Wheeler in this post. Crescendo also lets script writers "separate the logic code (your parsing functions) from the cmdlet definition and parameter handling code," which makes it easier to add functionality later, particularly should the native command-line tool get updated, he explained.

PowerShell Crescendo had its preview debut over a year ago. Jim Truher, a senior software engineer on the PowerShell Core team, is credited as its developer, per Wheeler.

About the Author

Kurt Mackie is senior news producer for 1105 Media's Converge360 group.


comments powered by Disqus

Subscribe on YouTube