5

構築中のカスタム Powershell コマンドレットに SqlServerCmdletSnapin を使用したいと考えています。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 -Force

ただし、2回目に実行すると:

インポート モジュール MyModule -Force

次のエラーが表示されます。

Add-PsSnapin : 同じキーを持つアイテムが既に追加されています。

私のコードは Invoke-SqlCmd を呼び出すことができなくなりました。カスタム モジュールに PowerShell スナップインを追加する最良の方法は何ですか?

4

1 に答える 1

4

モジュール マニフェスト (.psd1) を使用して、独自のモジュールに必要なこのモジュールを指定してみてください。RequiredModules を参照してください

于 2013-07-18T21:39:56.793 に答える