Я хочу взаимодействовать с Microsoft.Exchange.Management.PowerShell.E2010
, который установлен на моей машине через проект C#.C# Powershell - Управление Exchange {"Значение не может быть пустым. R nПараметр: serverSettings"}
Установлена локальная машина Windows Server 2012 R2 Standard и Exchange Server 2010 с пакетом обновления 3 (SP3) с накопительным обновлением 14.
Я использую 4.5 .NET Framework (Откат к старой версии не представляется возможным)
WSManConnectionInfo connectionInfo = new WSManConnectionInfo();
connectionInfo.OperationTimeout = 4 * 60 * 1000; // 4 minutes.
connectionInfo.OpenTimeout = 1 * 60 * 1000; // 1 minute.
Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo);
runspace.Open();
using (PowerShell ps = PowerShell.Create())
{
ps.Runspace = runspace;
ps.AddCommand("Add-PsSnapIn");
ps.AddArgument("Microsoft.Exchange.Management.PowerShell.E2010");
var results = ps.Invoke();
try
{
ps.AddCommand("Get-MailBox");
results = ps.Invoke();
}
catch (Exception e)
{
}
}
runspace.Close();
- открыть сеанс удаленной оболочки (целенаправленные на моей локальной машине).
- Добавьте управление Exchange PsSnapIn, чтобы иметь доступ к командам обмена.
- Наконец, я выполняю команду управления Exchange.
\!/Проблема на последнем шаге, results = ps.Invoke();
бросает System.Management.Automation.RemoteException
с сообщением "Value cannot be null.\r\nParameter name: serverSettings"
.
У вас есть идеи?
Спасибо за ваше время.
Спасибо, я могу попробовать! –