В настоящее время наша компания переходит на Exchange Online, и меня попросили помочь переписать некоторые части предыдущего кода управления пользователями, являющегося частью приложения MVC.Ядром этого кода был вызов локального PowerShell:
using (Runspace runspace=RunspaceFactory.CreateRunspace(connectionInfo))
{
PowerShell powershell = PowerShell.Create();
powershell.AddCommand(Command);
...
runspace.Open();
powershell.Runspace = runspace;
psobjs = powershell.Invoke();
}
Теперь мы сталкиваемся с проблемами, когда Microsoft ограничивает количество удаленных подключений PowerShell к EXO.Поскольку мы выполняем несколько вызовов PowerShell (таких как почтовые ящики, группы, пользователи, права), мы получаем следующее сообщение об ошибке: «Не удалось создать пространство выполнения, поскольку вы превысили свой бюджет, чтобы создать пространство выполнения».Я подумал, что, возможно, нам нужно найти способ повторно использовать пространство выполнения, поэтому я попытался использовать: это запуск из одноэлементного класса, инициализированного из фабрики классов, поэтому я решил, что могу поставить
Runspace runspace=RunspaceFactory.CreateRunspace(connectionInfo);
runspace.Open();
Однако я получаю сообщение об ошибке, что пространство выполнения находится в неопределенном состоянии.Может ли кто-нибудь случайно предложить правильное повторное использование пространства выполнения?
Спасибо