Powershell 模块内的函数可以单独调用



我一直在用这种逻辑编写很多Powershell模块:

function Get-ModuleName
{
#main logic, calls other functions
CallOtherFunction
}

function CallOtherFunction
{
#does something else
}

我刚刚了解到,通过此示例,函数 CallOtherFunction 可以通过 powershell 命令行调用,就好像它是一个单独的模块一样。 这不是我预期的行为,我只希望 Get-ModuleName 可以访问 CallOtherFunction。

有没有办法重构我的代码以使其按我的预期工作?

为了限制模块外部可见的内容,请查看:

导出模块成员

模块清单(.psd1 文件(

使用这些函数,您可以对外部调用者隐藏特定函数,但模块中的所有函数(隐藏或其他方式(仍然可以调用它们。 这非常适合为您执行特定任务但您不希望其他人看到/使用的"帮助程序"函数。

相关内容

最新更新