Udostępnij za pośrednictwem


Nie można ponownie uruchomić usługi pulpitu zdalnego, jeśli włączono funkcję Keep-Alive

Ten artykuł zawiera rozwiązanie problemu polegającego na tym, że nie można ponownie uruchomić usług pulpitu zdalnego (usług terminalowych) w przypadku włączenia funkcji Keep-Alive.

Oryginalny numer KB: 2507353

Symptomy

Jeśli funkcja RDP Keep-Alive jest włączona na serwerze z systemem Windows Server 2008 (lub Windows Server 2008 R2), ręcznie zatrzymaj usług pulpitu zdalnego (Windows Server 2008 R2) lub usług terminalowych (Windows Server 2008) pozostawi serwer w stanie niestabilnym: ponowne uruchomienie usługi nie spowoduje ponownego włączenia funkcji RDP, a serwer zawiesza się podczas zamykania.

Przyczyna

Wątek keep-alive jest uruchamiany przez usługę usług pulpitu zdalnego (usług terminalowych), jeśli jest włączona funkcja Keep-Alive, jednak jest uruchamiana w trybie jądra i dlatego nie może zostać automatycznie zakończona po zatrzymaniu usługi.

Rozwiązanie

Nie próbuj zatrzymać ani ponownie uruchomić usługi usług pulpitu zdalnego (usług terminalowych), jeśli włączono mechanizm zachowania aktywności protokołu RDP.

Więcej informacji

Po włączeniu funkcji Keep-Alive i zatrzymaniu usługi usług pulpitu zdalnego (usług terminalowych) jej proces svchost.exe pozostanie na liście zadań, mimo że usługa została prawidłowo zatrzymana. Po ponownym uruchomieniu usługi zostanie uruchomiony nowy svchost.exe, jednak serwer nie będzie akceptować przychodzących połączeń RDP z powodu niespójności w stanie sterownika TermDD.

Funkcję Keep-Alive można włączyć za pomocą zasad grupy:

  • Windows Server 2008 R2

    Konfiguracja komputera\Szablony administracyjne\Składniki systemu Windows\Usługi pulpitu zdalnego\Host sesji usług pulpitu zdalnego\Połączenia

    Konfigurowanie interwału połączenia Keep-Alive

  • Windows Server 2008

    Konfiguracja komputera\Szablony administracyjne\Składniki systemu Windows\Usługi terminalowe\Serwer terminalowy\Połączenia

    Konfigurowanie interwału połączenia Keep-Alive

Aby skonfigurować bezpośrednio w rejestrze:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"KeepAliveInterval"=dword:00000001
"KeepAliveEnable"=dword:00000001