为什么以下方法没有接受RunspaceConnectionInfo(以指定远程服务器信息)以及InitialSessionState的重载?
完整的上下文:
我正在构建一个 RunspacePoolCache,它将缓存使用 RunspaceFactory 创建的远程 RunspacePools。缓存以远程服务器信息为键。直到池的 RunspacePoolStateInfo.State 为 Open,相同的 RunspacePool 将用于在同一远程服务器上执行 Powershell 脚本。(无耻的插头:这行得通吗?)
现在,我想添加一组对创建的 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 时指定。