我想将SqlServerCmdletSnapin用于我正在构建的自定义Powershell Commandlet。如果我在PSM1的开头添加以下代码:
if ( (Get-PSSnapin -Name sqlserverprovidersnapin100 -ErrorAction SilentlyContinue) -eq $null )
{
Add-PsSnapin sqlserverprovidersnapin100
}
if ( (Get-PSSnapin -Name sqlservercmdletsnapin100 -ErrorAction SilentlyContinue) -eq $null )
{
Add-PsSnapin sqlservercmdletsnapin100
}
Export-ModuleMember Invoke-SqlCmd
第一次运行时一切都很好:
导入模块MyModule-强制
然而,我第二次运行:
导入模块MyModule-强制
我得到以下错误:
添加PsSnapin:已经添加了一个具有相同密钥的项目。
并且我的代码不能再调用Invoke-SqlCmd。将powershell管理单元添加到我的自定义模块的最佳方式是什么?
您可能希望尝试通过模块清单(.pd1)指定您自己的模块所需的此模块。请参阅此处的RequiredModules。