Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Handling errors in Crescendo
---
# Handling errors in Crescendo

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

Prior to Crescendo 1.1, native command errors were streamed directly to the user, not captured by
Crescendo. This prevented you from creating enhanced error handling. Now, Crescendo can capture
error output (stderr) from the native command.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Transforming arguments in Crescendo
---
# Transforming arguments in Crescendo

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

There are many scenarios where the input values handed to a Crescendo wrapped command must be
translated to a different format for the underlying native command. Crescendo 1.1 added two new
members to the **Parameter** class, `ArgumentTransform` and `ArgumentTransformType` to support these
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Create a Crescendo configuration using the Crescendo cmdlets
---
# Create a Crescendo configuration using the Crescendo cmdlets

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

The Crescendo module includes a set of cmdlets that create various Crescendo object types. You can
use these cmdlets to create a Crescendo configuration without the need to manually edit a JSON file.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Choosing a command-line tool to amplify
---
# Choosing the command-line tool for Crescendo

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

Using Crescendo is a rapid, reliable way to _amplify_ a command-line tool to produce a cmdlet-like
experience. Many times, the tool you need to work with is directly tied to the technology you are
attempting to automate. This makes the tool choice simple. However, not all tools work the same way.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Create a Crescendo cmdlet
---
# Create a Crescendo cmdlet

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

Modern command-line tools provide commands for effective management of domain-specific technologies.
Administrative users can confidently execute these commands inside of PowerShell and get the
expected results. However, PowerShell users prefer the syntax, readability, and object-based output
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Generate and test a Crescendo module
---
# Generate and test a Crescendo module

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

In the [previous article][01] we created configurations for two new cmdlets. Using this
configuration, Crescendo can generate a new PowerShell script module.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Installing Crescendo
---
# Install the Crescendo module

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

Requirements:

**Microsoft.PowerShell.Crescendo** requires PowerShell 7.0 or higher.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Research the command-line tool's syntax and output
---
# Research the command-line tool's syntax and output

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

The [previous article][03] provided criteria for selecting the command-line tool you want to amplify
with Crescendo. In this article we describe ways to collect information about the tool that helps
you design cmdlets using Crescendo.
Expand Down
2 changes: 2 additions & 0 deletions reference/docs-conceptual/Crescendo/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: Crescendo overview
---
# Microsoft.PowerShell.Crescendo overview

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

PowerShell, like other shells, is capable of invoking command-line tools. However, it
would improve the experience if the command-line tool could participate in the PowerShell pipeline
and take advantage of the parameter behaviors that are part of PowerShell.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ title: What's new in Crescendo 1.1
---
# What's new in Crescendo 1.1

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

This preview includes a new cmdlet, a new schema, support for argument value transformation, the
ability to bypass the output handler, and improved error handling.

Expand Down
9 changes: 6 additions & 3 deletions reference/docs-conceptual/overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: This documentation set contains reference for modules published and maintained by the PowerShell team, but aren't part of the PowerShell package.
ms.date: 01/30/2026
ms.date: 05/05/2026
title: PowerShell utility modules
---
# PowerShell utility modules
Expand All @@ -12,12 +12,15 @@ level of support for each module varies. For more details, see the landing page

This documentation set contains cmdlet reference for the following modules.

- [Microsoft.PowerShell.Crescendo][02]
- [Microsoft.PowerShell.SecretManagement][03]
- [Microsoft.PowerShell.SecretStore][04]
- [PlatyPS][05]
- [PSScriptAnalyzer][06]
- [AIShell][01] - **Deprecated as of January 2026**

Deprecated modules

- [Microsoft.PowerShell.Crescendo][02] - **Deprecated May 2026**
- [AIShell][01] - **Deprecated January 2026**

<!-- link references -->
[01]: ./AIShell/overview.md
Expand Down
60 changes: 30 additions & 30 deletions reference/docs-conceptual/toc.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,6 @@
items:
- name: Overview
href: overview.md
- name: AIShell
href: AIShell/toc.yml
- name: Crescendo
items:
- name: Overview
href: Crescendo/overview.md
- name: Get started
items:
- name: Install Crescendo
href: Crescendo/get-started/install-crescendo.md
- name: Choose a command-line tool
href: Crescendo/get-started/choose-command-line-tool.md
- name: Decide which features to amplify
href: Crescendo/get-started/research-tool.md
- name: Create a Crescendo cmdlet
href: Crescendo/get-started/create-new-cmdlet.md
- name: Generate and test a Crescendo module
href: Crescendo/get-started/generate-module.md
- name: What's new in Crescendo
items:
- name: What's new in Crescendo 1.1
href: Crescendo/whats-new/whats-new-in-crescendo-11.md
- name: Advanced topics
items:
- name: Create a configuration using the cmdlets
href: Crescendo/advanced/using-crescendo-cmdlets.md
- name: Handling errors in Crescendo
href: Crescendo/advanced/handling-errors.md
- name: Transforming arguments in Crescendo
href: Crescendo/advanced/transforming-arguments.md
- name: PlatyPS
items:
- name: Overview
Expand Down Expand Up @@ -229,3 +199,33 @@ items:
href: SecretManagement/how-to/using-secrets-in-automation.md
- name: Use Azure Key Vault in automation
href: SecretManagement/how-to/using-azure-keyvault.md
- name: AIShell
href: AIShell/toc.yml
- name: Crescendo
items:
- name: Overview
href: Crescendo/overview.md
- name: Get started
items:
- name: Install Crescendo
href: Crescendo/get-started/install-crescendo.md
- name: Choose a command-line tool
href: Crescendo/get-started/choose-command-line-tool.md
- name: Decide which features to amplify
href: Crescendo/get-started/research-tool.md
- name: Create a Crescendo cmdlet
href: Crescendo/get-started/create-new-cmdlet.md
- name: Generate and test a Crescendo module
href: Crescendo/get-started/generate-module.md
- name: What's new in Crescendo
items:
- name: What's new in Crescendo 1.1
href: Crescendo/whats-new/whats-new-in-crescendo-11.md
- name: Advanced topics
items:
- name: Create a configuration using the cmdlets
href: Crescendo/advanced/using-crescendo-cmdlets.md
- name: Handling errors in Crescendo
href: Crescendo/advanced/handling-errors.md
- name: Transforming arguments in Crescendo
href: Crescendo/advanced/transforming-arguments.md
11 changes: 11 additions & 0 deletions reference/includes/crescendo-deprecated.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
author: sdwheeler
ms.author: sewhee
ms.date: 05/05/2026
ms.topic: include
---
<!-- markdownlint-disable first-line-h1 -->

> [!IMPORTANT]
> As of May 2026, the Crescendo project is no longer being actively maintained. This project
> should be considered archived from an engineering standpoint.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ title: about_Microsoft.PowerShell.Crescendo
---
# about_Microsoft.PowerShell.Crescendo

[!INCLUDE[crescendo-deprecated](../../../includes/crescendo-deprecated.md)]

## Short description

The PowerShell Crescendo module provides a novel way to create proxy functions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ Export-CrescendoCommand [-command] <Command[]> -fileName <String> [-Force] [-Wha

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

This cmdlet creates JSON configuration files for Crescendo **Command** objects. It can create one
JSON file per **Command** object or create one JSON file containing all objects passed to it.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Export-CrescendoModule [-ConfigurationFile] <String[]> [-ModuleName] <String> [-

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

This cmdlet exports an object that can be converted into a function that acts as a proxy for a
platform specific command. The resultant module file should be executable down to version 5.1 of
PowerShell.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Export-Schema

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Exports the JSON schema for command configuration as a PowerShell object.

## EXAMPLES
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Import-CommandConfiguration [-file] <String> [<CommonParameters>]

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

This cmdlet exports an object that can be converted into a function that acts as a proxy for the
platform specific command. The resultant object may then be used to call a native command that can
participate in the PowerShell pipeline. The `ToString` method of the output object returns a string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ ms.date: 12/13/2022

## Description

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ New-CrescendoCommand [-Verb] <String> [-Noun] <String> [[-OriginalName] <String>

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Creates a PowerShell command object. You can use this object to set the properties of the command
you are defining. The resulting object can be converted to JSON to be added to a configuration file.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ New-ExampleInfo [-command] <String> [-description] <String> [[-originalCommand]

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Creates a PowerShell object representing an example used in a Crescendo command object. The
resulting object can be converted to JSON to be inserted into a configuration file or added to a
command object conversion to JSON later.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ New-OutputHandler

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Creates a PowerShell object representing a Crescendo output handler. You can assign values to the
properties of the object. The resulting object can be added to the **OutputHandlers** property of a
command object or it can be converted to JSON to be inserted in the configuration file.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ New-ParameterInfo [-Name] <String> [-OriginalName] <String> [<CommonParameters>]

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Creates a PowerShell object representing a Crescendo Parameter definition. You can assign values to
the properties of the object. The resulting object can be added to the **Parameters** property of
a command object or it can be converted to JSON to be inserted in the configuration file.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ New-UsageInfo [-usage] <String> [<CommonParameters>]

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Creates a PowerShell object representing a Crescendo Usage definition. You can assign values to the
properties of the object. The resulting object can be added to the **Usage** property of a command
object or it can be converted to JSON to be inserted in the configuration file. The **Synopsis** of
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ Test-IsCrescendoCommand [-Command] <Object[]> [<CommonParameters>]
```

## DESCRIPTION

[!INCLUDE[crescendo-deprecated](../../includes/crescendo-deprecated.md)]

Tests a cmdlet to see if it was created by Crescendo.

## EXAMPLES
Expand Down
Loading