Ошибка (клиент WinRM... Не удается определить тип содержимого HTTP-ответа с целевого компьютера) при попытке запустить командную консоль Exchange или консоль

Исходный номер базы знаний: 2028305

Симптомы

При попытке запустить командную консоль Exchange (EMS) или консоль управления Exchange (EMC) на компьютере под управлением Exchange Server 2010 появляется следующее сообщение об ошибке:

Сбой подключения к удаленному серверу со следующим сообщением об ошибке: Клиент WinRM не может обработать запрос. Он не может определить тип содержимого HTTP-ответа с конечного компьютера. Тип контента отсутствует или недопустим. Дополнительные сведения см. в разделе справки по about_Remote_Troubleshooting.

Причина

Эта проблема возникает из-за того, что выполняются одно или несколько из следующих условий:

  • Модуль Kerbauth неправильно настроен в службах IIS одним из следующих способов:
    • Модуль Kerbauth отображается как управляемый модуль, а не как собственный модуль.
    • Модуль Kerbauth был загружен на уровне веб-сайта по умолчанию (вместо виртуального каталога PowerShell или в дополнение к ней).
  • У пользователя нет состояния Удаленное включение PowerShell .
  • Запись модуля WSMan отсутствует в разделе Глобальные модули ApplicationHost.config файла, который находится в следующем расположении:
    C:\Windows\System32\Inetsrv\config\ApplicationHost.config

Это приводит к отображению модуля WSMan в виде управляемого модуля в виртуальном каталоге PowerShell.

Примечание.

Запись модуля WSMan также может отсутствовать в файле ApplicationHost.config, если на сервере установлена функция расширения WINRM IIS.

Разрешение

Для решения этой проблемы воспользуйтесь одним из описанных ниже способов.

  • Убедитесь, что модуль Kerbauth не включен на веб-сайте по умолчанию, а включен только для виртуального каталога PowerShell. Удаленный PowerShell использует проверку подлинности Kerberos для подключения пользователя. Службы IIS реализуют этот метод проверки подлинности Kerberos с помощью собственного модуля.

    В диспетчере IIS Kerbauth должен быть указан как собственный модуль в виртуальном каталоге PowerShell. Расположение DLL для этого модуля должно указывать на C:\Program Files\Microsoft\Exchange Server\v14\Bin\kerbauth.dll.

    Примечание.

    Тип локальной записи для модуля Kerbauth указывает, что модуль был включен непосредственно на этом уровне и не наследовался от родительского уровня.

  • Убедитесь, что пользователь, который пытается подключиться, имеет состояние Remote PowerShell Enabled . Чтобы определить, включен ли удаленный powerShell для пользователя, необходимо запустить командную консоль Exchange с помощью включенной учетной записи, а затем выполнить следующую команду:

    (Get-User <username>).RemotePowershellEnabled
    

    Этот запрос возвращает ответ True или False. Если выходные данные отображаются как False, пользователь не включает удаленный powerShell. Чтобы включить пользователя, выполните следующую команду:

    Set-User <username> -RemotePowerShellEnabled $True
    
  • Убедитесь, что модуль WSMan зарегистрирован, но не включен на уровне сервера. Также убедитесь, что модуль WSMan включен для виртуального каталога PowerShell. Затем убедитесь, что следующая запись модуля WSMan включена <globalModules> в раздел C:\Windows\System32\Inetsrv\config\ApplicationHost.config файла следующим образом:

    <globalModules>
        <add name="WSMan" image="C:\Windows\system32\wsmsvc.dll" />
    

    Примечание.

    Эти действия необходимо выполнить, даже если функция расширения WinRM IIS была удалена. Это связано с тем, что процедура удаления не исправляет файл ApplicationHost.config автоматически.