Microsoft.PowerShell.Crescendo 概述

与其他 shell 一样,PowerShell 能够调用命令行工具。 但是,如果命令行工具可以参与 PowerShell 管道并利用属于 PowerShell 的参数行为,这将改善体验。

Crescendo 提供了一个框架,用于快速创建 PowerShell cmdlet,以 放大 命令行工具,而不考虑平台。 基于 Crescendo 的模块的目标是创建使用命令行工具的 PowerShell cmdlet,与该工具不同,返回 PowerShell 对象而不是纯文本。

Crescendo 的工作原理

Crescendo 框架有两个main组件:

  • 描述所需 cmdlet 的 JSON 配置文件
  • 分析命令行工具输出并返回对象的输出处理程序函数

Crescendo 模块提供 cmdlet 来帮助创建 JSON 配置并生成包含定义的 cmdlet 的模块。 必须编写自己的输出处理程序函数来返回 PowerShell 对象。

特定于 Crescendo 的术语

Crescendo 的文档包含一些新术语。

  • 命令行工具 - 系统上安装的本机可执行文件
    • 例如:ipconfig.exe
  • command - 在命令行上键入以调用可执行文件的内容,其中可能包括特定参数
    • 例如:ipconfig.exe /all
  • 放大命令 - 使用 Crescendo 创建的 cmdlet,用于将命令包装在 PowerShell 函数中
    • 例如:Get-IpConfig -All

Crescendo 配置文件架构

创作 Crescendo 配置文件时,需要编写 JSON。 为方便起见、验证和改进的开发人员体验, 可以使用架构文件

可以查看架构以查看必需和可选配置设置、其说明以及它们接受的值类型。 在 Visual Studio Code 中创作配置文件时,可以获得许多有用的功能,包括 IntelliSense、编辑时验证等。