Разница между AddPSSnapin () и RunspaceFactory.CreateRunspace (WSManConnectionInfo)? - PullRequest
0 голосов
/ 11 февраля 2012

Мне нужно подключиться к серверу Exchange 2010 с помощью C # и Powershell. Документы Exchange 2007 хотят, чтобы я добавил оснастку

  RunspaceConfiguration rsConfig = RunspaceConfiguration.Create();
  PSSnapInException snapInException = null;
  PSSnapInInfo info = rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapInException);
  Runspace myRunSpace = RunspaceFactory.CreateRunspace(rsConfig);
  myRunSpace.Open(rsConfig);

Другие образцы в сети хотят, чтобы я использовал WSMan вот так

        WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, "ExchangeServer.ibm.com", 80, "/Powershell", "http://schemas.microsoft.com/powershell/Microsoft.Exchange", credential);

Итак, мои вопросы:

  • Какова эффективная разница между этими методами?

  • Они взаимозаменяемы?

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

В Exchange 2007 вы использовали оснастку управления в локальном пространстве выполнения для запуска командлетов. Все изменения были сделаны под вашими учетными данными.

В Exchange 2010 это изменилось. Техническое обслуживание выполняется через удаленный сеанс, предоставляемый сервером Exchange. Фактические изменения вносятся сервером Exchange от вашего имени с использованием учетной записи-посредника, и Exchange определяет, уполномочены ли вы вносить эти изменения в соответствии с ролями RBAC, к которым вы принадлежите. Изменения заносятся в журнал аудита администратора.

Существует оснастка для Exchange 2010, но использование ее путем добавления ее в локальный сеанс не поддерживается MS, и не все командлеты работают в этой среде должным образом. Большинство командлетов работают, но они обходят RBAC, и любые изменения, сделанные в этой среде, не регистрируются в журнале аудита администратора.

0 голосов
/ 11 февраля 2012

Ваш первый пример - просто создание нового Runspace в локальной системе, которая не использует WS-MAN. Вторая часть заключается в использовании службы WS-MAN, которая требует ее настройки во всех системах, к которым вы будете подключаться заранее.

Если честно, если вам не нужно использовать WS-MAN для подключения к удаленной системе, я бы просто избегал этого и использовал рекомендованную практику команды Exchange. WS-MAN (читай: может быть) довольно прост в настройке и использовании, но он добавляет уровень сложности, который может быть просто ненужным, и вызывает дополнительные проблемы с устранением неполадок.

...