导入PowerShell模块时如何执行自定义方法?

时间:2014-12-22 11:56:22

标签: powershell

在将PowerShell模块导入会话时,是否还要调用一些初始化代码(例如DB创建)?

例如,如果我有一个包含以下内容的程序集:

class DBBuilder
{
    Init()
    {
        // Initialize database
    }
}

和一个名为MyModule.psd的PS模块

然后,我希望Import-Module MyModule致电DBBuilder.Init()

1 个答案:

答案 0 :(得分:0)

如果您正在使用模块清单(实际上是.psd1,而不是.psd),您可以将代码放在.ps1脚本文件中,并从清单中引用它: / p>

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

要执行.NET代码,您必须加载程序集:

[Reflection.Assembly]::LoadFile("c:\test\db.dll")

并调用方法:

[{yournamespace}.DBBuilder]::Init()