1

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

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

我使用 Import-Module 命令:

Import-Module MyModule

我的脚本文件是这样的:

function MyFunction() {}

Export-ModuleMember -Function *

我的清单看起来像这样:

FunctionsToExport = '*'

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

感谢您的帮助。

4

2 回答 2

5

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

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

祝你今天过得愉快 !

于 2017-02-15T12:14:08.503 回答
0

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

  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 )

于 2021-04-27T06:55:33.320 回答