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、编辑时验证等。