Сервер зависает или вход пользователя происходит медленно при подключении к Windows Server 2012 R2 с помощью RDP

В этой статье описывается решение проблемы, из-за которой компьютер зависает или пользователь медленно выполняет вход при подключении к компьютеру по протоколу удаленного рабочего стола (RDP).

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 4021856

Симптомы

При создании подключения по протоколу RDP к компьютеру под управлением Windows Server 2012 R2 компьютер зависает.

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

Причина

Эта проблема возникает из-за условия взаимоблокировки, включающего службы удаленных рабочих столов (RDS) (termsrv.dll), lsass (kerberos) и перенаправление. Взаимоблокировка возникает, когда службы RDS пытаются загрузить данные конфигурации пользователя, выполняя удаленные вызовы реестра контроллеру домена.

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

  • Сетевой канал с контроллером домена работает медленно, перегружен, и происходит потеря кадров, а при повторных попытках передачи данных затрачивается значительное время.
  • Контроллер домена испытывает локальные проблемы с производительностью и медленно реагирует на запросы.

Разрешение

Теперь можно отключить запросы контроллера домена во время входа пользователя. Это позволяет избежать окна для недоблокировки и устранить проблемы с производительностью.

В Windows Server 2012 R2 создайте запись реестра fQueryUserConfigFromLocalMachine, выполнив следующие действия.

Важно!

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

Чтобы внести изменения в реестр, выполните следующие действия.

  1. Откройте редактор реестра. (Нажмите клавишу с логотипом Windows + R, введите regedit.exe в поле Открыть и нажмите кнопку ОК.)

  2. В разделе Реестр Редактор найдите и щелкните один из следующих подразделов реестра:

    • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services
    • HKEY _LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\<Connection Name>

    Примечание.

    По умолчанию для параметра Имя> подключения используется значение <RDP-Tcp. Это значение RDP-Tcp можно переименовать или настроить на что-то другое.

    Снимок экрана: настройка RDP-Tcp.

  3. В меню Правка выберите Создать, а затем — Значение DWORD.

  4. Введите fQueryUserConfigFromLocalMachine.

  5. Нажмите и удерживайте (или щелкните правой кнопкой мыши fQueryUserConfigFromLocalMachine, а затем выберите Изменить.

  6. В поле Данные значения введите 1 и нажмите кнопку ОК.

  7. Закройте редактор реестра.

Вы также можете выполнить обновление до Windows Server 2016, чтобы устранить эту проблему.

Примечание.

Вам не нужно обновлять разделы реестра в Windows Server 2016, по умолчанию используется обновленное поведение.