从自动完成中隐藏 PowerShell 模块的功能
Hide PowerShell module's functions from auto completion
我在 CentOS 7 服务器上使用 PowerShell v6.1.1 软件包。
我想隐藏我创建的模块的某些功能,因为最终用户不必使用它。就是他要用的函数用了我想隐藏的函数
用户必须使用function1
,function1
使用function2
但用户不必使用function2所以我不想让他看到function2
.
Export-ModuleMember 仅在使用时隐藏它 Get-Command -Module myModule
但使用选项卡自动完成仍会显示所有功能。
Moerwald 的评论给了我从 Get-Command
命令和选项卡自动完成中隐藏模块功能的正确方法。
*.psm1 文件中的 Export-ModuleMember 'function1'
在使用 Get-Command -Module myModule
时仅显示定义的函数,但自动完成将允许用户使用模块中的每个函数。
Function-ToExport= 'function1'
*.psd1 文件中定义的函数将成为最终用户唯一可用的函数,并且这些函数将能够使用导出模块中的其他函数。
我在 CentOS 7 服务器上使用 PowerShell v6.1.1 软件包。
我想隐藏我创建的模块的某些功能,因为最终用户不必使用它。就是他要用的函数用了我想隐藏的函数
用户必须使用function1
,function1
使用function2
但用户不必使用function2所以我不想让他看到function2
.
Export-ModuleMember 仅在使用时隐藏它 Get-Command -Module myModule
但使用选项卡自动完成仍会显示所有功能。
Moerwald 的评论给了我从 Get-Command
命令和选项卡自动完成中隐藏模块功能的正确方法。
Export-ModuleMember 'function1'
在使用 Get-Command -Module myModule
时仅显示定义的函数,但自动完成将允许用户使用模块中的每个函数。
Function-ToExport= 'function1'
*.psd1 文件中定义的函数将成为最终用户唯一可用的函数,并且这些函数将能够使用导出模块中的其他函数。