与其他 shell 一样,PowerShell 能够调用命令行工具。 但是,如果命令行工具可以参与 PowerShell 管道并利用 PowerShell 中的参数行为,则会改善体验。
Crescendo 提供了一个框架,用于快速创建 PowerShell cmdlet,这些 cmdlet 可以 放大 命令行工具,无论平台如何。 基于 Crescendo 的模块的目标是创建使用命令行工具的 PowerShell cmdlet,并且与该工具不同,返回 PowerShell 对象而不是纯文本。
Crescendo 的工作原理
Crescendo 框架有两个主要组件:
- 描述所需 cmdlet 的 JSON 配置文件
- 分析命令行工具输出并返回对象的输出处理程序函数
Crescendo 模块提供 cmdlet,以帮助你创建 JSON 配置并生成包含定义的 cmdlet 的模块。 必须编写自己的输出处理程序函数来返回 PowerShell 对象。
渐强特定术语
Crescendo 的文档包括一些新术语。
-
命令行工具 - 安装在系统上的本机可执行文件
- 例如:
ipconfig.exe
- 例如:
-
command - 您在命令行上键入的内容以调用可执行文件,其中可能包括特定参数
- 例如:
ipconfig.exe /all
- 例如:
-
amplified 命令 - 使用 Crescendo 创建的 cmdlet,用于将命令包装在 PowerShell 函数中
- 例如:
Get-IpConfig -All
- 例如:
Crescendo 配置文件架构
当您创作 Crescendo 配置文件时,您正在编写 JSON。 为了方便、验证和改进开发人员体验, 提供了架构文件。
可以查看架构,查看必需和可选的配置设置、其说明以及它们接受的值类型。 在 Visual Studio Code 中创作配置文件时,可以获得许多有用的功能,包括 IntelliSense、编辑时的验证等。