А бывает ли у вас такое, что не работает RDP? Ну, то есть, может и работает, но подключиться к виртуалке не получается. Скорее всего, для многих это не будет никакой проблемой, и у каждого прямо с сейчас с ходу найдётся пара советов, куда зайти и что проверить. Но вдруг, кто-то о чём-то всё же не знает. Здесь собрали несколько рецептов решения, начиная с самых банальных. Ну, на всякий случай…
Начнём с того, что иногда люди сами себе отрубают RDP, после чего обращаются в техподдержку, надеясь, что проблема не на стороне клиента. В таких случаях специалисты техподдержки только и могут, что предложить переустановку.
Но помимо этого, сложность может быть заключена немного глубже. Для человека, пытающегося подключиться к своему серверу, это может выглядеть как “бесконечный коннект”, не заканчивающийся ни чем. А может появиться сообщение вида “Произошла внутренняя ошибка”. Во многих подобного рода случаях могут помочь лежащие на поверхности решения.
Во-первых, необходимо убедиться, что на виртуальном сервере достаточное для штатного функционирования службы RDP количество оперативной памяти. Возможна, например, ситуация, когда на виртуалке нагружено большое количество торговых ботов и сервер под такой нагрузкой не может толком раскрутить даже RDP.
Во-вторых, пользователь мог сам закрыть порт 3389 на сервере, который и используется по умолчанию службой RDP. Правила для входящих подключений по этому порту так и называются – “Удаленный рабочий стол – пользовательский режим”. Ну, вот, всякое же бывает. Допустим, неудачно настроил брандмауэр. Ну, или, скажем, скачал “супер безопасный софт для супер безопасного интернета”.
Иногда что-то может пойти не так с самой рабочей станции, с которой производится подключение. Тогда имеет смысл очистить историю RDP-подключений. Делается это следующим образом:
- откройте редактор реестра
regedit.exe
и перейдите в веткуHKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
; - разверните ветку реестра
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
, и чтобы очистить историю последних RDP-соединений, выделите все ключи с именамиMRU0-MRU9
, щелкните правой клавишей и выберите пунктDelete
илиУдалить
.

Чтобы очистить историю всех RDP-подключений и сохранённых имён пользователей, нужно очистить содержимое ветки реестра Servers
. Так как выделять все вложенные ветки не очень удобно, проще всего удалить ветку Servers
целиком, а затем пересоздать ее вручную.

Те же операции можно сделать и через Powershell
. Для получения информации о правилах брандмауэра приложение должно быть запущено с правами администратора.

Далее, необходимо проверить, запущена ли служба:
Get-Service TermService
Из полученного результата следует убедиться, что поле Status
установлено в значение Running
:

Также, это можно посмотреть в диспетчере задач на вкладке Services
(Службы
) или в оснастке services.msc
:

Ещё необходимо проверить, слушается ли порт 3389 на стороне сервера. Сделать это можно так же через Powershell
:
Get-NetTCPConnection -State Listen | Where-Object LocalPort -EQ 3389
Порт должен быть в выведенном списке. Поле State
должно иметь значение Listen
.

На виртуальном сервере проверить порт 3389 можно и через монитор ресурсов (resmon.exe
). Активность порта видна на вкладке Network
(Сеть
) в разделе TCP Connections
(TCP-подключения
):

Туда же можно попасть через Диспетчер задач, перейдя на вкладку Performance
(Производительность
) и далее на Open Resource Monitor
(Открыть монитор ресурсов
):

Также, данный функционал доступен через Панель управления
→ Администрирование
→ Монитор ресурсов
:

Ещё одно важное замечание. По умолчанию Windows блокирует все входящие подключения, поэтому у вас должно быть разрешающее правило. Рассмотрим случай, когда вы не используете сторонний межсетевой экран. Если вы всё же пользуетесь таким файрволом, обратитесь к его документации.
Итак, для брандмауэра Windows проверьте, существует ли правило, разрешающее входящие подключения RDP:
Get-NetFirewallPortFilter | Where-Object LocalPort -EQ 3389 | Get-NetFirewallRule
Поле Enabled
должно иметь значение True
, поле Action
– значение Allow
.

Также, эти данные доступны в оснастке wf.msc
:

Перейти к настройкам брандмауэра можно также через Windows Administrative Tools
в меню Пуск
.

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

Ну, и наконец в крайнем случае, если на сервере нет важных данных, можно переустановить систему или написать в техническую поддержку.