Powershell - Export-ModuleMember不起作用

时间:2017-02-15 11:08:14

标签: powershell powershell-module

我是PowerShell的新手,我刚开始创建自己的模块。 我创建了脚本&清单文件并将它们放在C:\Program Files\WindowsPowerShell\Modules\命令列出的目录$env:PSModulePath中。

我也可以导入和删除模块,但当我尝试调用其中一个函数时,它不被识别为applet或命令

我使用Import-Module命令:

Import-Module MyModule

我的脚本文件是这样的:

function MyFunction() {}

Export-ModuleMember -Function *

我的清单看起来像这样:

FunctionsToExport = '*'

我是否需要将所有导出的函数写入清单?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

好的,几个小时后我找到了答案: ExportedCommand empty custom module PowerShell

您需要将RootModule = 'MyModule.psm1'放入清单。

度过美好的一天!

答案 1 :(得分:0)

对我来说,以下(基于 Mica 的回答)有效:

  1. 将 RootModule 按照 Mica 在 psd1 文件中的建议更改为 psm1 文件。
  2. 使用 Import-Module -Force MyModule 命令

(带有“-Force”标志: “此参数导致在当前模块之上加载或重新加载模块。”如 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.1#examples) 所述