从模块导出PS成员失败

时间:2016-12-20 22:10:54

标签: powershell

我有一个带有多个功能的psm1模块。我只想公开一些功能,所以我使用了“Export-ModuleMember -Function”,一切都很好。

现在我想添加一个清单,所以我删除了Export-ModuleMember cmdlet并将函数名放在psd1文件的FunctionsToExport部分下。

当我导入模块时,我可以选项卡完成这些功能,但当我尝试使用它们时,ps说:

  

测试功能:术语“测试功能”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

我也尝试将Export-ModuleMember -Function *放入psm1,但这没有帮助。

psm1和psd1文件名称相同,位于模块的根目录中。

思考?感谢。

2 个答案:

答案 0 :(得分:0)

我怀疑这里涉及PowerShell缓存机制。尝试运行:

Get-Module -ListAvailable -Refresh

我建议使用PowerShell MVP Tobias Weltner编写的very good article on that subject

答案 1 :(得分:0)

我找到了答案。我忘记取消对RooteModule节点的评论。一旦我这样做(并将module.psm1作为值),导出的命令就出现在“Get-Module module”输出中。