模块

模块是PowerShellV2中引入的概念,用以改进之前提出的“管理单元”。将管理单元也作为模块(二进制模块)处理之后,PowerShell中就包括两种模块——脚本模块和二进制模块。

脚本模块是在PowerShellV2中与模块一起提出的概念,完全由PowerShell语法和环境编写,不需要使用其他编译语言或者开发环境。脚本模块是现在编写PowerShell模块时推荐的方法.

注意:在PowerShell3.0之前如果我们操作的命令在其他模块中,我们需要手工将模块导入。在PowerShell3.0之后当我们使用这些命令的时候系统会在后台进行静默导入!

什么是模块

模块就是包含一些PowerShell命令、项,以及自定义函数等的程序包,它以一个整体被分发共享和加载使用。

模块路径

模块的安装路径

理论上可以是任何位置,当然放在默认路径下更加方便管理加载默认路径

获取默认路径可以使用Get-Module|Select-Objectpath或者(Get-Module).path

这两个命令是等效的至于为什么是等效我们以后在进行说明

模块组成

模块文件夹,脚本模块文件,模块描述文件组成了模块,下面将分别介绍这及部分

模块文件夹

模块文件夹是模块的一个组成部分,要与模块名称具有相同的名字。模块所包含的模块文件、描述文件以及其他可能用到的脚本文件都要放在这个文件夹中。

脚本模块文件

脚本模块文件与一般的脚本文件内容基本一致,只是后缀是.psm1,而文件名就是模块的名字.脚本模块文件应该包含你自定义的函数语句以及别名等等。

模块的编写我们可以使用文本文档或者PowerShellISE当然这里我个人推荐使用PowerShellGUI

模块描述文件

描述文件也称为Manifest文件,扩展名是.psd1,它的文件名也要与模块相同。它的内容实际上是一个Hashtable;不同的是,这个Hashtable中键的名字是系统预先定义的。脚本模块文件的作用主要是限制运行环境、设置依赖项,版本,以及最低PowerShell版本,预先、导入命令等和对脚本进行一些描述。创建和编辑模块描述文件可以使用任何文本编辑器。但是我个人依然强烈推荐使PowerShellGUI进行脚本调试编写,模块编写打包等等