从自动完成功能中隐藏PowerShell模块的功能

时间:2019-05-06 15:13:07

标签: function powershell module powershell-module

我在CentOS 7服务器上使用PowerShell v6.1.1软件包。

我想隐藏我创建的模块的某些功能,因为最终用户不必使用它。他要使用的功能就是我要隐藏的功能。

用户必须使用function1function1使用function2,但是用户不必使用function2,因此我不想让他看到function2

Export-ModuleMember仅在使用Get-Command -Module myModule时将其隐藏,但是自动完成并带有选项卡仍会显示所有功能。

1 个答案:

答案 0 :(得分:0)

Moerwald的评论为我提供了一种从Get-Command命令和制表符自动完成功能中隐藏模块功能的正确方法。

* .psm1文件中的

Export-ModuleMember 'function1'仅在使用Get-Command -Module myModule时显示定义的功能,但自动完成功能将允许用户使用模块中的所有功能。

* .psd1文件中的

Function-ToExport= 'function1'将使定义的功能成为最终用户唯一可用的功能,并且这些功能将能够使用导出模块中的其他功能。