模块是相关可重用功能(或 cmdlet)的集合,可以轻松地分发给其他 PowerShell 用户,并在多个脚本中或直接在控制台中使用。模块通常保存在自己的目录中,包括:

  • 包含 .psm1 文件扩展名的一个或多个代码文件,其中包含包含 cmdlet 的函数或二进制程序集(.dll
  • 模块清单 .psd1 描述模块名称,版本,作者,描述,它提供的功能/ cmdlet 等。
  • 其他要求工作包括依赖,脚本等

模块示例:

  • 包含函数/ cmdlet 的模块,用于对数据集执行统计信息
  • 用于查询和配置数据库的模块

为了使 PowerShell 能够轻松查找和导入模块,它通常位于 $env:PSModulePath 中定义的已知 PowerShell 模块位置之一。

演示

列出安装到其中一个已知模块位置的模块:

Get-Module -ListAvailable

导入模块,例如 Hyper-V 模块:

Import-Module Hyper-V

列出模块中的可用命令,例如 Microsoft.PowerShell.Archive 模块

> Import-Module Microsoft.PowerShell.Archive
> Get-Command -Module Microsoft.PowerShell.Archive

CommandType Name             Version Source                      
----------- ----             ------- ------                      
Function    Compress-Archive 1.0.1.0 Microsoft.PowerShell.Archive
Function    Expand-Archive   1.0.1.0 Microsoft.PowerShell.Archive