powershell模块启动命令

时间:2016-04-26 17:57:51

标签: powershell

编写powershell模块时(在powershell中)如何在导入模块时运行命令?

当用户运行import-module mymodule时,我希望模块首先运行一些命令来进行初始设置。我该怎么做?

3 个答案:

答案 0 :(得分:3)

实现这一目标的一种方法是在模块就绪时创建模块清单。您可以使用以下cmdlet

实现此目的
New-ModuleManifest

查看更多详情:

Get-Help New-ModuleManifest

您正在寻找的选项是

-ScriptsToProcess <String[]>
    Specifies script (.ps1) files that run in the caller's session state when the module is imported. You can use these scripts to prepare an environment, just as you might use a login script.


    Required?                    false
    Position?                    named
    Default value                None
    Accept pipeline input?       false
    Accept wildcard characters?  false

答案 1 :(得分:2)

如果您有PowerShell *.psm1模块,则还应指定模块清单*.psd1)。在此清单中,您可以设置一个PowerShell脚本数组(*.ps1*)以在模块加载时调用:

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
ScriptsToProcess = @()

答案 2 :(得分:2)

您可以执行上述ScriptsToProcess事项,但您也可以直接将代码放入.psm1文件中(在函数定义之外)。这一切都在导入模块时执行,因此不需要使用单独的文件。