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 的回答)有效:
- 将 psd1 文件中 Mica 建议的 RootModule 更改为 psm1 文件。
- 使用 Import-Module -Force MyModule 命令
(带有“-Force”标志:
“此参数会导致在当前模块之上加载或重新加载模块。”正如 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.1#examples)
所说
我是 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 的回答)有效:
- 将 psd1 文件中 Mica 建议的 RootModule 更改为 psm1 文件。
- 使用 Import-Module -Force MyModule 命令
(带有“-Force”标志: “此参数会导致在当前模块之上加载或重新加载模块。”正如 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.1#examples)
所说