Я пытаюсь запускать команды EMC на C #. Я запускаю это со своего персонального компьютера, на котором установлены инструменты управления обменом.
На наших обменных серверах работает 2007 год.
Дело в том, что когда я запускаю Powershell или EMC, мне нужно работать от имени другого пользователя, у которого есть разрешения сервера Exchange 2007, поскольку у моего индивидуального профиля этих разрешений нет.
При этом это мой код, который я запускаю на своем персональном ПК:
RunspaceConfiguration config = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
PSSnapInInfo info = config.AddPSSnapIn("Microsoft.Exchange.Management.Powershell.Admin", out snapEx);
Runspace runspace = RunspaceFactory.CreateRunspace(config);
runspace.Open();
Command createCMD = new Command("Get-Mailbox ID");
Pipeline pipe = runspace.CreatePipeline();
pipe.Commands.Add(createCMD);
Collection<PSObject> results = pipe.Invoke();
Я получаю следующую ошибку:
Оснастка Windows PowerShell Microsoft.Exchange.Management.Powershell.Admin
не установлена на этом компьютере.
Я получаю это, когда пытаюсь добавить Microsoft.Exchange.Management.Powershell.Admin
snapIn.
Я чувствую, что это как-то связано с моими разрешениями в моем личном профиле, но я не совсем уверен. Если это правда, как мне это исправить.
ИЗМЕНИТЬ
Причина, по которой я говорю, что это похоже на разрешения, заключается в том, что я могу открыть PowerShell и добавить оснастку. Однако, когда я запускаю такую команду, как get-mailboxstatistics myUserId
, она выдает ошибку о том, что MyServer\MyStorageGroup
не существует. Однако, когда я нажимаю shift-rightCLick и запускаю от имени другого пользователя и использую учетные данные моей учетной записи администратора обмена, я могу запускать эти команды.