Устранение неполадок с подключением к удаленному рабочему столу

Попробуйте наш виртуальный агент — он поможет вам быстро определить и устранить распространенные проблемы с подключением к сеансам удаленных рабочих столов.

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

Проверка состояния протокола RDP

Проверка состояния протокола RDP на локальном компьютере

Сведения о проверка и изменении состояния протокола RDP на локальном компьютере см. в статье Включение удаленного рабочего стола.

Примечание.

Если параметры удаленного рабочего стола недоступны, см. статью Проверка того, блокирует ли объект групповая политика RDP.

Проверка состояния протокола RDP на удаленном компьютере

Важно!

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

Чтобы проверка и изменить состояние протокола RDP на удаленном компьютере, используйте сетевое подключение к реестру:

  1. Сначала перейдите в меню Пуск , а затем выберите Выполнить. В появившемся текстовом поле введите regedt32.

  2. В Редактор реестра выберите Файл, а затем — Подключить сетевой реестр.

  3. В диалоговом окне Выбор компьютера введите имя удаленного компьютера, выберите Проверить имена и нажмите кнопку ОК.

  4. Перейдите к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server и к HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.

    Снимок экрана: Редактор реестра с записью fDenyTSConnections.

    • Если значение ключа fDenyTSConnections равно 0, то включен протокол RDP.
    • Если значение ключа fDenyTSConnections равно 1, RDP отключен.
  5. Чтобы включить RDP, измените значение параметра fDenyTSConnections с 1 на 0.

Проверка того, блокирует ли объект групповая политика (GPO) RDP на локальном компьютере

Если вы не можете включить протокол RDP в пользовательском интерфейсе или значение fDenyTSConnections вернется к 1 после его изменения, объект групповой политики может переопределить параметры уровня компьютера.

Чтобы проверка конфигурацию групповой политики на локальном компьютере, откройте окно командной строки от имени администратора и введите следующую команду:

gpresult /H c:\gpresult.html

После завершения этой команды откройте gpresult.html. В разделе Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Connections найдите политику Разрешить пользователям удаленно подключаться с помощью служб удаленных рабочих столов.

  • Если для этой политики задано значение Включено, групповая политика не блокирует подключения по протоколу RDP.

  • Если для этой политики задано значение Отключено, проверка объект групповой политики с победой. Это объект групповой политики, блокирующий подключения по протоколу RDP.

    Снимок экрана: пример сегмента gpresult.html, в котором RDP блока GPO уровня домена отключается.

    Снимок экрана: пример сегмента gpresult.html, в котором локальный групповая политика отключит протокол RDP.

Проверка того, блокирует ли объект групповой политики RDP на удаленном компьютере

Чтобы проверка конфигурацию групповая политика на удаленном компьютере, команда почти такая же, как для локального компьютера:

gpresult /S <computer name> /H c:\gpresult-<computer name>.html

Файл, создаваемый этой командой (имя> gpresult-computer<.html), использует тот же информационный формат, что и версия локального компьютера (gpresult.html).

Изменение блокирующего объекта групповой политики

Эти параметры можно изменить в групповая политика Редактор объектов (GPE) и консоли управления групповая политика (GPM). Дополнительные сведения об использовании групповая политика см. в разделе Расширенное управление групповая политика.

Чтобы изменить политику блокировки, используйте один из следующих методов:

  • В GPE получите доступ к соответствующему уровню объекта групповой политики (например, локальному или домену) и перейдите в раздел Конфигурация> компьютераАдминистративные шаблоны>Компоненты удаленныхрабочих столов Службы удаленных рабочих столов Службы удаленных рабочих> столов Узел >сеансов удаленных рабочих столовConnections>Разрешить пользователям удаленно подключаться с помощью служб удаленных рабочих столов.>
    1. Задайте для политики значение Включено или Не настроено.
    2. На затронутых компьютерах откройте окно командной строки от имени администратора и выполните gpupdate /force команду .
  • В GPM перейдите к подразделению, в котором политика блокировки применяется к затронутым компьютерам, и удалите политику из подразделения.

Проверка состояния служб RDP

На локальном (клиентском) компьютере и удаленном (целевом) компьютере должны быть запущены следующие службы:

  • Службы удаленных рабочих столов (TermService)
  • Перенаправитель портов UserMode служб удаленных рабочих столов (UmRdpService)

Оснастку MMC служб можно использовать для локального или удаленного управления службами. PowerShell также можно использовать для локального или удаленного управления службами (если удаленный компьютер настроен на прием удаленных командлетов PowerShell).

Снимок экрана: службы удаленных рабочих столов в оснастке

На любом компьютере, если одна или обе службы не запущены, запустите их.

Примечание.

При запуске службы удаленных рабочих столов выберите Да , чтобы автоматически перезапустить службу перенаправления портов UserMode Служб удаленных рабочих столов.

Убедитесь, что прослушиватель RDP работает

Важно!

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

Проверка состояния прослушивателя RDP

Для этой процедуры используйте экземпляр PowerShell с разрешениями администратора. Для локального компьютера можно также использовать командную строку с разрешениями администратора. Однако в этой процедуре используется PowerShell, так как одни и те же командлеты работают как локально, так и удаленно.

  1. Чтобы подключиться к удаленному компьютеру, выполните следующий командлет:

    Enter-PSSession -ComputerName <computer name>
    
  2. Введите qwinsta.

    Снимок экрана: команда qwinsta, в которой перечислены процессы, прослушивающие порты компьютера.

  3. Если список содержит rdp-tcp состояние Listen, прослушиватель RDP работает. Перейдите к проверке порта прослушивателя RDP. В противном случае перейдите к шагу 4.

  4. Экспорт конфигурации прослушивателя RDP с рабочего компьютера.

    1. Войдите на компьютер с той же версией операционной системы, что и затронутый компьютер, и получите доступ к реестру этого компьютера (например, с помощью Редактор реестра).

    2. Перейдите к следующей записи реестра:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

    3. Экспорт записи .reg в файл. Например, в разделе Реестр Редактор щелкните запись правой кнопкой мыши, выберите Экспорт и введите имя файла для экспортированных параметров.

    4. Скопируйте экспортируемый .reg файл на затронутый компьютер.

  5. Чтобы импортировать конфигурацию прослушивателя RDP, откройте окно PowerShell с правами администратора на затронутом компьютере (или откройте окно PowerShell и подключитесь к затронутму компьютеру удаленно).

    1. Чтобы создать резервную копию существующей записи реестра, введите следующий командлет:

      cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'
      
    2. Чтобы удалить существующую запись реестра, введите следующие командлеты:

      Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force
      
    3. Чтобы импортировать новую запись реестра, а затем перезапустить службу, введите следующие командлеты:

      cmd /c 'regedit /s c:\<filename>.reg'
      Restart-Service TermService -Force
      

      Замените <filename> именем экспортированного .reg файла.

  6. Проверьте конфигурацию, повторите попытку подключения к удаленному рабочему столу. Если подключиться по-прежнему не удается, перезагрузите затронутый компьютер.

  7. Если подключение по-прежнему не удается, проверка состояние самозаверяющего сертификата RDP.

Проверка состояния самозаверяющего сертификата RDP

  1. Если подключиться по-прежнему не удается, откройте оснастку MMC "Сертификаты". Когда вам будет предложено выбрать хранилище сертификатов для управления, выберите Учетная запись компьютера, а затем выберите затронутый компьютер.
  2. В папке Сертификаты в разделе Удаленный рабочий стол удалите самозаверяющий сертификат RDP.
  3. На затронутом компьютере перезапустите службу служб удаленных рабочих столов.
  4. Обновите оснастку "Сертификаты".
  5. Если самозаверяющий сертификат RDP не был создан повторно, проверка разрешения папки MachineKeys.

Проверка разрешений папки MachineKeys

  1. На затронутом компьютере откройте Обозреватель и перейдите в папку C:\ProgramData\Microsoft\Crypto\RSA\.
  2. Щелкните правой кнопкой мыши MachineKeys и выберите Свойства>Безопасность>Дополнительно.
  3. Убедитесь, что настроены следующие разрешения:
    • Builtin\Administrators: полный доступ
    • Все: чтение, запись

Проверка порта прослушивателя RDP

На локальном (клиентском) и удаленном (целевом) компьютере прослушиватель RDP должен прослушивать порт 3389. Никакие другие приложения не должны использовать этот порт.

Важно!

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

Чтобы проверка или изменить порт RDP, используйте Редактор реестра:

  1. Перейдите в меню Пуск, выберите Выполнить, а затем введите regedt32 в появившемся текстовом поле.

    • Чтобы подключиться к удаленному компьютеру, выберите Файл, а затем — Подключить сетевой реестр.
    • В диалоговом окне Выбор компьютера введите имя удаленного компьютера, выберите Проверить имена и нажмите кнопку ОК.
  2. Откройте реестр и перейдите по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<listener>.

    Снимок экрана: подраздел PortNumber для протокола RDP.

  3. Если portNumber имеет значение, отличное от 3389, измените его на 3389.

    Важно!

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

  4. После изменения номера порта перезапустите службу служб удаленных рабочих столов.

Убедитесь, что другое приложение не пытается использовать тот же порт

Для этой процедуры используйте экземпляр PowerShell с разрешениями администратора. Для локального компьютера можно также использовать командную строку с разрешениями администратора. Однако в этой процедуре используется PowerShell, так как одни и те же командлеты работают локально и удаленно.

  1. Откройте окно PowerShell. Чтобы подключиться к удаленному компьютеру, введите Enter-PSSession -ComputerName <computer name>.

  2. Введите следующую команду:

    cmd /c 'netstat -ano | find "3389"'
    

    Снимок экрана: команда netstat, которая создает список портов и прослушивающих их служб.

  3. Найдите запись для порта TCP 3389 (или назначенного порта RDP) со статусом Прослушивание.

    Примечание.

    Идентификатор процесса (PID) для процесса или службы, использующий этот порт, отображается в столбце PID.

  4. Чтобы определить, какое приложение использует порт 3389 (или назначенный порт RDP), введите следующую команду:

    cmd /c 'tasklist /svc | find "<pid listening on 3389>"'
    

    Снимок экрана: команда списка задач, которая сообщает сведения о конкретном процессе.

  5. Найдите запись для номера PID, связанного с портом (из выходных netstat данных). Службы или процессы, связанные с этим PID, отображаются в правом столбце.

  6. Если приложение или служба, отличные от служб удаленных рабочих столов (TermServ.exe), использует порт, конфликт можно устранить одним из следующих методов:

    • Настройте другое приложение или службу для использования другого порта (рекомендуется).
    • Удалите другое приложение или службу.
    • Настройте RDP для использования другого порта, а затем перезапустите службу служб удаленных рабочих столов (не рекомендуется).

Проверьте, блокирует ли брандмауэр порт RDP

Используйте средство psping , чтобы проверить, можно ли связаться с затронутым компьютером с помощью порта 3389.

  1. Перейдите на другой компьютер, который не затронут, и скачайте psping.

  2. Откройте окно командной строки от имени администратора, перейдите в каталог, в котором вы установили psping, а затем введите следующую команду:

    psping -accepteula <computer IP>:3389
    
  3. Проверьте выходные psping данные команды на наличие следующих результатов:

    • Connecting to \<computer IP\>: удаленный компьютер доступен.
    • (0% loss): все попытки подключения выполнены успешно.
    • The remote computer refused the network connection: удаленный компьютер недоступен.
    • (100% loss): все попытки подключения завершилось сбоем.
  4. Запустите psping на нескольких компьютерах, чтобы проверить возможность подключения к затронутму компьютеру.

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

  6. Рекомендуемые следующие действия:

    • Engage администраторов сети, чтобы убедиться, что сеть разрешает трафик RDP на затронутый компьютер.
    • Изучите конфигурации брандмауэров между исходными компьютерами и затронутыми компьютерами (включая брандмауэр Windows на затронутом компьютере), чтобы определить, блокирует ли брандмауэр порт RDP.