首页 > 解决方案 > Powershell 模块功能在 Get-Modules 中不可见

问题描述

我有一个包含单个功能的简单 powershell 模块,其精简版本如下:

function My-Func
{
.
.
.
} 
Export-ModuleMember -Function 'My-Func'

我的清单文件包含一行来明确导出:

FunctionsToExport = "我的函数"

一切都通过 Publish-Module 上传到 powershell 库没有任何问题,然后当我安装它并运行 Get-Module 时,我在输出的导出命令列中看不到该函数,当我尝试调用功能 powershell 告诉我它不存在。

我的模块有一个 psm1 文件和一个 psd1 清单,由于某种原因,当我只将 Manifest 视为模块类型时,我猜我需要查看脚本?

有任何想法吗 ?

标签: powershell

解决方案


在您的 .psm1 中:删除 Exported-ModuleMember 行

在您的 .psd1 中: RootModule = 'yourmodule.psm1' FunctionsToExport = @('function1','function2')

psd1 文件 FunctionsToExport 的工作方式类似于 Exported-ModuleMember 命令。这是一种从一个集中文件中定义事物的更简洁的方法。


推荐阅读