Устранение ошибок WinRM и ошибок запуска средств управления Exchange 2010


Как мы уже обсуждали, инструменты управления в Exchange 2010 зависят от IIS. Там же мы рассматривали ситуации, когда подключение инструментов управления к целевому серверу Exchange может завершиться аварийно, а сообщение об ошибке подключения оказаться сложным для понимания. Обычно (но не всегда) это случается, когда Exchange 2010 устанавливается на IIS уже находящийся в эксплуатации, или когда в IIS вносятся изменения после установки Exchange 2010.  Мы видели, что эти изменения обычно вносятся, когда администратор IIS пытается «закрутить гайки» безопасности в IIS, редактируя настройки Default Web Site или PowerShell vdir.

Ситуация осложняется тем, что некоторые из представленных ошибок имеют похожие сообщения; кажется, что большинство из них происходит из-за WinRM (Windows Remote Management), и в некоторых случаях в корне различные проблемы могут производить совершенно одинаковое сообщение об ошибке. Другими словами в зависимости от того, насколько хорошо вы знакомы с этими ошибками, их устранение превращается в перебор всех вариантов… а это не забавляет.

И вот результат:  представляем Exchange Management Troubleshooter (или кратко EMTshooter).

Что он делает?

EMTshooter запускается на локальном (целевом) сервере Exchange и пытается определить потенциальные проблемы подключения инструментов управления к этому серверу.

EMTshooter выполняется за два шага. На первом шаге он тестирует IIS Default Web Site, PowerShell vdir и другие критические области, чтобы найти известные проблемы. Если он находит известную проблему, то он выдает сообщение с рекомендациями по ее устранению. Если все проверки проходят удачно, то он пытается подключиться к серверу точно также как инструменты управления. Если это попытка подключения получит ошибку от WinRM, EMTshooter будет пытаться сравнить эту ошибку со списком текстов (строк) ошибок, который мы составили на основе решений для аналогичных ошибок в службе поддержки. Если соответствие найдено, то EMTshooter выведет в окно CMD известные причины ошибки. Вот пример того, как это выглядит:

 Когда я разрабатывал EMTshooter, я мог бы просто написать маленький поисковый инструмент для анализа сообщения об ошибке, которую вы получили, но я почувствовал, что это не столь надежное решение, как я хотел (и не дающее мне никакого опыта). Но EMTshooter выполняет предварительные активные проверки до анализа текста сообщения об ошибке. Количество предварительных проверок, которые он может выполнить, зависит от свойств операционной системы, на которой вы его запустили, и опций, которые вы на ней установили (например, WMI Compatibility).

По правде говоря, я взял всю документацию об этих ошибках, которая была доступна на тот момент, и сделал инструмент, который делает эту информацию доступной для вас, основываясь на сообщении об ошибке или проблеме, которую он обнаружил. Надеюсь, это уменьшит количество времени, которое необходимо для решения этих проблем.

Журнал событий

Когда вы запускаете  EMTshooter, он пишет сообщения в журнал событий. Все результаты, которые отображаются в окне CMD, также записываются в журнал событий.

События пишутся в журнал Microsoft-Exchange-Troubleshooters/Operational и не требуют пояснений.

Запомните!

В зависимости от текущих настроек вам может потребоваться настройка политики на компьютере, на котором выполняется EMTshooter :

Set-ExecutionPolicy RemoteSigned

или

Set-ExecutionPolicy Unrestricted

Не забудьте вернуть политику в исходное состояние после работы с EMTshooter.

Эта версия EMTshooter  должна запускаться на сервере Exchange, к которому невозможно подключиться с помощью инструментов управления. Хотя наша цель была в том, чтобы запускать EMTshooter  из любого места, где установлены инструменты управления,  но он еще не готов для этого.

У нас были случаи, когда повреждение в PowerShell vdir или в самом IIS приводило к ошибкам, которые, как казалось, были вызваны чем-то другим. Например, мы работали над сервером, у которого была ошибка, которая указала на проблему с сетевым путем в PowerShell vdir. Но путь был правильным. Затем мы заметили, что PowerShell vdir потерял все свои модули, и отметили еще некоторые моменты. Так или иначе, PowerShell vdir на том сервере Exchange был безнадежно убит и не подлежал восстановлению. В этой ситуации WinRM возвращал лучшую ошибку, какую мог, EMTshooter  взял эту ошибку и перечислил причины. Ни одна из них не решила проблему. Так что знайте: есть сценарии, в которых даже EMTshooter  не может помочь в настоящее время.

EMTshooter  еще недостаточно отточен, и мы планируем в будущем улучшить и расширить его возможности. Мы также надеемся со временем углубиться в настройки PowerShell vdir. Также отметим, что EMTshooter  не будет делать изменения в конфигурации IIS без вашего разрешения.

Необходимые права

Для того, чтобы запустить EMTshooter, пользователь должен иметь права локального входа (log on locally) на Exchange сервер и права запуска Windows Powershell.

Установка EMTshooter

Во-первых, загрузите ZIP файл с EMTshooter , который находится тут.

Установка EMTshooter очень проста. Извлеките 4 файла из ZIP файла в одну папку, переименуйте их в  .ps1и запустите локально EMTshooter.ps1 из окна PowerShell. Лично я создал ярлык на моем рабочем столе:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command “. ‘C:\EMTshooter\EMTshooter.ps1′”

Однако большинство пользователей не запускают его часто, и вы, скорее всего, не захотите иметь ярлык. Только помните, что нужно запускать именно файл EMTshooter.ps1.

Обратная связь

Как я упоминал ранее, EMTshooter все еще незавершен. Если вы хотите сообщить об ошибке или сделать предложение по улучшению, то оставьте, пожалуйста, комментарий к этому сообщению в блоге. Я буду их отслеживать, отвечать по возможности и вносить изменения в  EMTshooter  по необходимости. Если вы столкнетесь с ошибками, которые не известны EMTshooter, то запустите его, воспроизведите ошибку и отправьте мне transcript.txt file (вы найдете его в папке, где лежат 4 скрипта) вместе с пояснением, что вы сделали, чтобы устранить ошибку (если ошибка была устранена). Мой адрес: sbryant AT Microsoft DOT com.

Ошибки, которые исправляет EMTshooter

• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from the destination computer. The content type is absent or invalid.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The connection to the specified remote host was refused. Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WinRM client received an HTTP server error status (500), but the remote service did not include any other information about the cause of the failure. For more information, see the about_Remote_Troubleshooting Help topic. It was running the command ‘Discover-ExchangeServer -UseWIA $true -SuppressError $true’.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WinRM client received an HTTP status code of 403 from the remote WS-Management service.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WinRM client sent a request to an HTTP server and got a response saying the requested HTTP URL was not available. This is usually returned by a HTTP server that does not support the WS-Management protocol.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service:
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WS-Management service does not support the request.
• Соединение с удаленным сервером перестало работать со следующим сообщением об ошибке: The WinRM client cannot process the request. The WinRM client tried to use Kerberos authentication mechanism, but the destination computer

Стив Брайант

Перевод: Илья Сазонов, MVP

Comments (2)

  1. Хорошо бы  начале статьи указывать первоисточник.

  2. strange walker says:

    Вопрос снимается, про unblock забыл 🙂

Skip to main content