4

次のメソッドに、 RunspaceConnectionInfo (リモート サーバー情報を指定するため) とInitialSessionStateを受け入れるオーバーロードがないのはなぜですか?

http://msdn.microsoft.com/en-us/library/system.management.automation.runspaces.runspacefactory.createrunspacepool(v=vs.85).aspx

完全なコンテキスト:

RunspaceFactory を使用して作成されたリモート RunspacePools をキャッシュする RunspacePoolCache を構築しています。キャッシュはリモートサーバー情報に基づいています。プールの RunspacePoolStateInfo.State が Open になるまで、同じリモート サーバーで Powershell スクリプトを実行するために同じ RunspacePool が使用されます。(恥知らずなプラグ:これはうまくいきますか?)

次に、作成した RunspacePool に共通の Powershell スナップインのセットを追加します。実行されたスクリプト内にスナップインを追加すると、次の例外が発生する場合があります。

An item with the same key has already been added

これは、Powershell スクリプトで次の操作を行った場合でも発生します (頻度は低くなりますが)。

if ((Get-PSSnapin | ? { $_.Name -eq 'VeeamPSSnapIn' }) -eq $null) {
    Add-PsSnapin -Name VeeamPSSnapIn -ErrorAction SilentlyContinue
}

ここで、 InitialSessionStateを介してスナップインをロードしようとしています。しかし、提供されているメソッドのセットから、InitialSessionState はローカルの RunspacePools を作成している間のみ指定できるようです。

4

1 に答える 1