Уточнение New-PSSession и Runspacepool

Мне нужно запустить командлеты Exchange онлайн, используя классы powershell в C#.

Для запуска командлетов exchange online мне нужно установить удаленный сеанс powershell.

Мои сомнения: 1) Если размер runspacepool равен 2, должен ли я создать этот удаленный сеанс powershell в обоих пространствах выполнения в этом runspacepool? Если да, как я могу / есть ли способ перебрать пространства выполнения для запуска команды New-PSSession в обоих пространствах выполнения.

2) Если сессия истекает в ОДНОМ пространстве выполнения, есть ли способ получить это конкретное пространство выполнения из пространства выполнения и создать новый сеанс только для этого пространства?

1 ответ

Вам не нужно вручную создавать удаленные сеансы для каждого пространства выполнения в пуле. Вместо этого предоставьте информацию о соединении при создании экземпляра runspacepool со следующей перегрузкой: RunspaceFactory.CreateRunspacePool(Int32, Int32, RunspaceConnectionInfo) (как показано в этом ответе):

string shell = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
var target = new Uri("http://myserver/wsman");
var secured = new SecureString();
foreach (char letter in "mypassword")
{
    secured.AppendChar(letter);
}
secured.MakeReadOnly();

var credential = new PSCredential("username", secured);
var connectionInfo = new WSManConnectionInfo(target, shell, credential);

Runspace remotePool = RunspaceFactory.CreateRunspacePool(0,2,connectionInfo);
Другие вопросы по тегам