模块中的PowerShell .ps1文件cmdlet

时间:2013-01-10 23:33:10

标签: powershell powershell-module

现在我有一组.ps1 PowerShell脚本cmdlet(它们可以带参数)彼此相关,但每个都相当复杂。我想将它们组织成一个模块,最好是将它们保存在单独的文件中。

最好的方法是什么?我可以将它们保存在单独的.ps1文件中,并使用模块清单说它们是模块的一部分吗?我是否需要将文件点源到.psm1文件以保持文件分离?或者将它们分成单独的文件是不明智的吗?

1 个答案:

答案 0 :(得分:3)

最终,您需要至少有一个.PSM1文件,该文件包含要从模块中导出的变量和函数定义,或者来自.PS1文件的那些定义中的点源。默认情况下,导出所有函数时不会导出变量。如果要修改该行为,请在PSM1文件末尾使用Export-ModuleMember -Variable MyExportedVariable -Function *-*

如果PS1文件中的大部分代码都是内部实现细节,那么保留在PS1文件中应该没问题。请记住,PSM1会导出模块的“公共”界面。