SkillAgentSearch skills...

Crescendo

a module for wrapping native applications in a PowerShell function and module

Install / Use

/learn @PowerShell/Crescendo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PowerShell Crescendo

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. 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.

The 1.0.0 release includes the following features:

  • Ability to define cmdlets from simple key/value statements in a JSON file
  • Support for modular design - cmdlet definitions can be in a one or more JSON files
  • A JSON schema that helps you create your Crescendo configuration using IntelliSense and tooltips
  • Three styles of output handling code allowing you to separate your code from the cmdlet definitions for easier debugging and development
  • Privilege elevation mechanisms in Windows, Linux, and macOS
  • Crescendo generates a PowerShell script module ready for deployment
  • While Crescendo requires PowerShell 7 or higher for authoring configurations, the generated module can run on Windows PowerShell 5.1 and higher
  • Example configurations for you to copy and reuse
  • Experimental Help parsers that provide proof-of-concept examples for auto-generating cmdlet configurations

The 1.1.0 release adds the following features:

  • New schema to support additional parameter properties
  • Added Export-CrescendoCommand cmdlet
  • Added NoClobber parameter to Export-CrescendoModule
  • Added the ability to bypass all output handling
  • Added the ability to handle native command errors in the output handler
  • Added the ability to transform arguments

Installing Crescendo

Requirements:

  • Microsoft.PowerShell.Crescendo requires PowerShell 7.0 or higher

To install Microsoft.PowerShell.Crescendo:

Install-Module -Name Microsoft.PowerShell.Crescendo

To install Microsoft.PowerShell.Crescendo using the new PowerShellGet.v3

Install-PSResource -Name Microsoft.PowerShell.Crescendo

Documentation and more information

To get started using Crescendo, check out the documentation.

For a detailed walkthrough using Crescendo, see this excellent blog series from Sean Wheeler - Thanks Sean!

Future plans

We value your ideas and feedback and hope you will give Crescendo a try and let us know of any issues you find.

Release history

Release announcements on the PowerShell Blog.

  • Dec-2022 - Crescendo 1.1.0-Preview01
  • Mar-2022 - Crescendo 1.0.0 GA
  • Dec-2021 - Crescendo.RC
  • Oct-2021 - Crescendo.Preview.4
  • Jul-2021 - Crescendo.Preview.3
  • May-2021 - Crescendo.Preview.2
  • Dec-2020 - Crescendo.Preview.1

Code of Conduct

Please see our Code of Conduct before participating in this project.

Security Policy

For any security issues, please see our Security Policy.

View on GitHub
GitHub Stars429
CategoryDevelopment
Updated16d ago
Forks41

Languages

PowerShell

Security Score

95/100

Audited on Mar 24, 2026

No findings