未发现PowerShell模块

时间:2017-05-09 19:30:00

标签: powershell module

我有一个PowerShell模块,我已经创建并安装在WindowsPowerShell \ Modules路径中。我可以自动发现模块,如果它安装在模块文件夹的根目录下,例如WindowsPowerShell \ Modules \ NewModule,但是如果我在模块文件夹中创建一个子文件夹,模块不会被自动发现,例如WindowsPowerShell \模块\ NewModule \ 1.0。

为什么通过将模块和清单添加到Module文件夹中的子文件夹来停止自动发现模块?我有很多模块使用这种自动发现的结构。谢谢!

1 个答案:

答案 0 :(得分:0)

关于为什么其他人正在工作,我猜测PS如何安装模块取决于它来自何处(即从PSGallery安装的模块通常在版本子文件夹中)。根据安装模块的MS文档,父模块文件夹应该直接在模块路径中,以便将其正确识别为模块:

https://msdn.microsoft.com/en-us/library/dd878350(v=vs.85).aspx

话虽这么说,如果您正在创建模块并将它们全部存储在PSModulePath的子文件夹中,您应该可以更新PSModulePath环境变量以包含该子文件夹。完成后,重新加载PS会话并重试导入。