在将PowerShell模块导入会话时,是否还要调用一些初始化代码(例如DB创建)?
例如,如果我有一个包含以下内容的程序集:
class DBBuilder
{
Init()
{
// Initialize database
}
}
和一个名为MyModule.psd的PS模块
然后,我希望Import-Module MyModule
致电DBBuilder.Init()
答案 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()