PowerShell模块创建

时间:2016-09-04 16:44:38

标签: powershell

我正在尝试创建一个自定义PowerShell模块,并在一个名为MyModule的新目录中包含一个带有一些简单函数和.psd1清单文件的.psm1模块文件。此目录存储在$ env:PSModulePath中指定的其中一个位置。

当我尝试导入新模块时,出现以下错误:

PS> Import-Module MyModule
Import-Module : The specified module 'MyModule' was not loaded because no valid module file was found in any module directory.
At line:1 char:1
+ Import-Module MyModule
+ CategoryInfo          : ResourceUnavailable: (MyModule:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

我调用Import-Module on的目录也与psm1文件同名。

Directory: C:\MyModule

Mode                LastWriteTime         Length Name                                                                                                                                                                           
----                -------------         ------ ----                                                                                                                                                                           
-a----         9/3/2016   1:40 PM           2595 MyModule.psd1                                                                                                                                                                  
-a----         9/3/2016   1:06 PM           1718 MyModule.psm1  

我一直在使用以下资源作为指南: https://msdn.microsoft.com/en-us/library/dd878324(v=vs.85).aspx

我错过了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

PSModulePath中的目录需要包含一个或多个与模块名称匹配的目录。换句话说,C:\MyModule中不应明确显示PSModulePath,而应将C:\PSModules添加到路径中,然后在该目录中添加\MyModule其中包含您的模块和清单。