为Powershell模块添加Powershell管理单元并多次导入



我想将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。

相关内容

  • 没有找到相关文章

最新更新