Powershell - Export-ModuleMember 不起作用

Powershell - Export-ModuleMember doesn't work

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

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

我使用 Import-Module 命令:

Import-Module MyModule

我的脚本文件是这样的:

function MyFunction() {}

Export-ModuleMember -Function *

我的清单如下所示:

FunctionsToExport = '*'

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

感谢您的帮助。

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

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

祝你有愉快的一天!

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

  1. 将 psd1 文件中 Mica 建议的 RootModule 更改为 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)

所说