Powershell不从模块导入函数

时间:2016-08-09 15:30:16

标签: powershell module cmdlets powershell-module powershellget

我正在尝试在这里设置一个NuGet Feed,这样就可以了。我通过

从我的Feed中安装了一个模块
Install-Module -Name MyCmdlets -Repository $RepoName -Scope CurrentUser -Force
Import-Module -Name MyCmdlets

然而,当我运行Get-Module时,我没有得到任何功能而且它是一个清单?

ModuleType Version    Name                                ExportedCommands                                  
---------- -------    ----                                ----------------                                  
Manifest   1.0        MyCmdlets          

如果我手动转到安装位置并手动导入

Import-Module <my-path>\1.0\MyCmdlets.psm1                 

ModuleType Version    Name                                ExportedCommands                                  
---------- -------    ----                                ----------------                     
Script     0.0        MyCmdlets                      {Create-Project, Get-AuditLogs, Get-..             

我的清单文件确实有这些行,所以我不明白为什么Import-Module无法正常工作。

  

FunctionsToExport ='*'

     

CmdletsToExport ='*'

2 个答案:

答案 0 :(得分:4)

我猜你还没有在你的.psd1中设置根模块

#
# Module manifest for module 'YourModule'
#

@{

# Script module or binary module file associated with this manifest
RootModule = 'YourModule.psm1'

# Version number of this module.
ModuleVersion = '1.0.0'

...

这是必要的,这样当您导入清单模块时,它还会加载脚本模块

答案 1 :(得分:0)

对于遇到此问题的任何人,他们的模块为何无法导入,请检查是否未注释掉RootModule ='YourModule.psm1'。 默认情况下,使用New-ModuleManifest创建新清单时,它会在该行的前面抛出一个哈希值。

我觉得很愚蠢。