在将PowerShell模块导入到会话时,是否仍要调用一些初始化代码(例如,数据库创建)?
例如,如果我有一个包含以下内容的程序集:
class DBBuilder
{
Init()
{
// Initialize database
}
}
和一个名为MyModule.psd的PS模块
那我想Import-Module MyModule
打电话DBBuilder.Init()
如果您使用的是模块清单(.psd1
实际上不是.psd
),则可以将代码放在.ps1
脚本文件中,并从清单中引用它:
# 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()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句