Udostępnij za pośrednictwem


Błąd (klient usługi WinRM... nie może określić typu zawartości odpowiedzi HTTP z komputera docelowego) podczas próby uruchomienia powłoki/konsoli zarządzania programu Exchange

Oryginalny numer KB: 2028305

Symptomy

Podczas próby uruchomienia powłoki zarządzania programu Exchange (EMS) lub programu Exchange Management Console (EMC) na komputerze z systemem Exchange Server 2010 r. zostanie wyświetlony następujący komunikat o błędzie:

Nawiązywanie połączenia z serwerem zdalnym nie powiodło się z powodu następującego komunikatu o błędzie: Klient usługi WinRM nie może przetworzyć żądania. Nie można określić typu zawartości odpowiedzi HTTP z komputera docelowego. Typ zawartości jest nieobecny lub nieprawidłowy. Aby uzyskać więcej informacji, zobacz temat about_Remote_Troubleshooting Pomoc.

Przyczyna

Ten problem występuje, ponieważ spełniony jest co najmniej jeden z następujących warunków:

  • Moduł Kerbauth jest niepoprawnie skonfigurowany w usługach Internet Information Services (IIS) na jeden z następujących sposobów:
    • Moduł Kerbauth jest wyświetlany jako moduł zarządzany, a nie jako moduł natywny.
    • Moduł Kerbauth został załadowany na domyślnym poziomie witryny internetowej (zamiast katalogu wirtualnego programu PowerShell lub oprócz niego).
  • Użytkownik nie ma stanu włączonego zdalnego programu PowerShell .
  • Brak wpisu modułu WSMan w sekcji Moduły globalne pliku ApplicationHost.config znajdującego się w następującej lokalizacji:
    C:\Windows\System32\Inetsrv\config\ApplicationHost.config

Powoduje to, że moduł WSMan jest wyświetlany jako moduł zarządzany w katalogu wirtualnym programu PowerShell.

Uwaga

W pliku ApplicationHost.config może również brakować wpisu modułu WSMan, jeśli na serwerze jest zainstalowana funkcja rozszerzenia IIS usługi WinRM.

Rozwiązanie

Aby rozwiązać ten problem, skorzystaj z jednej z następujących metod:

  • Upewnij się, że moduł Kerbauth nie jest włączony w domyślnej witrynie internetowej, ale zamiast tego jest włączony tylko dla katalogu wirtualnego programu PowerShell. Zdalny program PowerShell używa uwierzytelniania Kerberos dla połączenia użytkownika. Usługa Internet Information Services (IIS) implementuje tę metodę uwierzytelniania Kerberos przy użyciu modułu natywnego.

    W menedżerze usług IIS kerbauth powinien być wymieniony jako moduł natywny w katalogu wirtualnym programu PowerShell. Lokalizacja biblioteki DLL dla tego modułu powinna wskazywać wartość C:\Program Files\Microsoft\Exchange Server\v14\Bin\kerbauth.dll.

    Uwaga

    Typ wpisu lokalnego modułu Kerbauth wskazuje, że moduł został włączony bezpośrednio na tym poziomie i nie został odziedziczony z poziomu nadrzędnego.

  • Upewnij się, że użytkownik, który próbuje nawiązać połączenie, ma stan Włączono zdalny program PowerShell . Aby określić, czy użytkownik jest włączony dla zdalnego programu PowerShell, należy uruchomić powłokę zarządzania programu Exchange przy użyciu konta, które jest włączone, a następnie uruchomić następujące polecenie:

    (Get-User <username>).RemotePowershellEnabled
    

    To zapytanie zwraca odpowiedź true lub false. Jeśli dane wyjściowe są wyświetlane jako False, użytkownik nie jest włączony dla zdalnego programu PowerShell. Aby włączyć użytkownika, uruchom następujące polecenie:

    Set-User <username> -RemotePowerShellEnabled $True
    
  • Upewnij się, że moduł WSMan jest zarejestrowany, ale nie jest włączony na poziomie serwera. Upewnij się również, że moduł WSMan jest włączony dla katalogu wirtualnego programu PowerShell. Następnie sprawdź, czy następujący wpis modułu programu WSMan znajduje się w sekcji C:\Windows\System32\Inetsrv\config\ApplicationHost.config pliku w <globalModules> następujący sposób:

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

    Uwaga

    Należy wykonać te kroki, nawet jeśli funkcja rozszerzenia IIS usługi WinRM została usunięta. Dzieje się tak, ponieważ procedura dezinstalacji nie naprawia automatycznie pliku ApplicationHost.config.