Microsoft has announced the release of PowerShell Crescendo 1.1.0-preview01. The latest version brings error-handling improvements, a new schema, argument value transformation support, a new way to bypass the output handler, and more.
PowerShell Crescendo is a popular platform that helps to create PowerShell cmdlets for command line applications. It improves the original command-line experience with features such as privilege elevation, integrated help information, and a PowerShell pipeline. The main components of the Crescendo framework are a JSON configuration file and Output handler functions.
Microsoft has updated the Crescendo schema to add support for two new members to ArgumentTransform, ArgumentTransformType, and Parameter class. Crescendo schema is designed to improve the authoring experience in Visual Studio Code and other supported tools. Additionally, the Export-CrescendoModule cmdlet can now prevent overwriting of the module manifest with a NoClobberManifest switch parameter.
Up until now, PowerShell Crescendo wasn’t able to capture native command errors. This release lets Crescendo capture the generated command error output (stderr). It’s possible to use the new Pop-CrescendoNativeError function to access the error messages queue in the output handler.
Moreover, Microsoft introduced support for argument value transformation in PowerShell Crescendo. This capability should be useful for scenarios where it is required to translate the input values provided to a Crescendo wrapped command to another value.
“We updated the schema to add two new members to the Parameter class, ArgumentTransform and ArgumentTransformType. Use these members to transform parameter arguments inline or invoke a script block that takes the parameter value as an argument. The default value for ArgumentTransformType is inline,” the PowerShell team explained.
Microsoft encourages users to provide their feedback and submit feature requests on GitHub. If you haven’t done it yet, you can find details about getting started with PowerShell Crescendo on this support page.