2012-08-17 56 views
1

我已经将所有的powershell函数写入了ps1文件。如何将powershell模块发布到生产环境?

在另一个ps1文件中,它是来源点,函数被调用。

当我寻找更好的方法时,我开始知道将所有功能作为模块(.psm1)是更好的选择。

但是对于.ps1文件,我可以简单地将它放在一个文件夹中并发送它。

使用.psm1文件,它说我必须将其添加到特定的位置,以便它可以导入。

如何向客户提供.psm1文件呢?我们是否应该指导他们在使用前复制到提及的位置? (如果我们不通过msi发货)

回答

3

从技术上讲,您可以通过路径导入psm1文件,但这不是最好的用户体验。如果您将该文件放在$ home \ documents \ WindowsPowerShell \ Modules或$ pshome \ Modules下的文件夹中,则用户可以仅基于psm1文件的名称导入。最后,您可以将psm1文件放在您想要的任何位置,并且如果修改了PSModulePath环境变量以包含该目录,PowerShell将搜索该目录中的模块。

+0

至于他的问题的具体部分的一部分,据我所知这并不是真的需要。您可以运行导入模块modulepath.psm1而不是点源。但是,您可以将Export-ModuleMember cmdlet添加到PSM1文件。如果这样做,您将不得不导出每个想要导入的成员。如果省略export-modulemember,它将默认导出PSM1中的每个模块。 – 2012-08-17 13:15:49

+0

如果省略'Export-ModuleMember',它将导出每个函数,但不导出任何变量。 – 2012-08-17 16:02:43