自定义 PowerShell 提供程序全攻略
1. 引言
在管理任务中,尽管已有众多可用的提供程序,但你或许仍有创建自定义提供程序的想法。不过,编写自定义提供程序需要一定的开发经验,因为目前纯 PowerShell 编写提供程序的工具尚在开发中。在 Visual Studio 类库项目里,你需要引用 System.Management.Automation.Provider
,本节讨论的许多对象都来自这个库。
2. 理解提供程序的基本概念
在创建自定义提供程序之前,除了之前讨论过的提供程序基础知识,你还需要了解更多概念,包括功能、路径、支持的 cmdlet 以及帮助文件结构。
2.1 提供程序功能
编程实现提供程序时,你需要通过继承基类或接口来声明其支持的功能。以下表格解释了可派生的基类和接口:
| 功能 | 类型 | 基类/接口 | 描述 |
| — | — | — | — |
| 容器支持 | ContainerCmdletProvider | 允许用户管理容器 |
| 内容支持 | IContentCmdletProvider | 允许用户管理项目内容,支持获取、设置和清除内容 |
| 驱动器支持 | DriveCmdletProvider | 定义用户可用的驱动器,以及是否可添加或移除驱动器 |
| 项目支持 | ItemCmdletProvider | 允许用户管理数据存储中的项目,支持获取、设置和清除项目 |
| 导航支持 | NavigationCmdletProvider | 允许用户在数据存储中移动项目 |