Key takeaways:
- Microsoft has announced the general availability of PowerShell Crescendo 1.1.0.
- The latest PowerShell Crescendo version brings a host of enhancements, including a new cmdlet, improved error handling, and argument value transformation support.
- Users should ensure they are running PowerShell 7.2 or higher to utilize PowerShell Crescendo’s capabilities.
Microsoft has announced the general availability of PowerShell Crescendo 1.1.0 for all its customers. This latest iteration brings several improvements, such as a brand-new cmdlet, enhanced error handling capabilities, a new method to bypass output handling, and support for argument value transformations, among other exciting features.
“Crescendo is a development accelerator enabling you to rapidly build PowerShell cmdlets that leverage existing command-line tools. Crescendo amplifies the command-line experience of the original tool to include object output for the PowerShell pipeline, privilege elevation, and integrated help information,” Microsoft explained.
Microsoft has added three new members to the Parameter class in the Crescendo schema, including ArgumentTransformType, ArgumentTransform, and ExcludeAsArgument. This means that the schema will now offer tooltips and IntelliSense in tools like Visual Studio Code.
PowerShell Crescendo 1.1.0 also brings a new Export-CrescendoCommand cmdlet that creates JSON configuration files for Crescendo Command objects. The cmdlet provides a NoClobberManifest switch parameter to prevent overwriting of the module manifest.
Previously, PowerShell Crescendo used to send native command errors directly to the users. This release adds two internal functions (Push-CrescendoNativeError and Pop-CrescendoNativeError) to capture the generated command error output. Microsoft says that Crescendo will use the default handler in case an output handler is not defined.
You can find other highlights for this PowerShell Crescendo version 1.1.0 release below:
- Improved error stream and error handling with
Pop-CrescendoNativeError
.- Added ability for parameter values to be translated via key/value pair with
ArgumentTransform
andArgumentTransformType
.- Improved code generation to reduce PSScriptAnalyzer output.
- Improved error handling by setting
$PSNativeCommandUseErrorActionPreference = $false
.- Improved module metadata and added current Crescendo version to the module.
Microsoft notes that users should be running PowerShell 7.2 or higher to install Crescendo on their systems. The company asks customers to provide feedback about any issues on the GitHub repository. Meanwhile, Crescendo-generated cmdlets require users to have PowerShell 5.1 or higher. We invite you to check out this support page for more details about how to get started with PowerShell Crescendo.