Как исправить ошибку «Недопустимое имя удаленного компьютера» при указании порта в RDP на Windows 10

Системный администратор IT и автоматизация бизнеса
← На главную

При работе с удаленными рабочими столами (RDP) стандартной практикой является указание адреса сервера вместе с номером порта через двоеточие, например, 192.168.1.100:3344. Однако пользователи Windows 10 иногда сталкиваются с парадоксальной ситуацией: встроенный клиент mstsc.exe выдает предупреждение о том, что имя компьютера задано неправильно, указывая на двоеточие как на недопустимый символ. При этом на других версиях ОС (например, Windows 7) та же самая строка подключения работает корректно.

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

Причина возникновения ошибки валидации

Ошибка чаще всего связана не с физической поломкой клавиатуры или «неправильным» портом, а с логическими сбоями в парсере строки подключения или в кэше истории подключений. Когда вы вводите адрес в поле «Компьютер», графический интерфейс (GUI) программы mstsc.exe запускает проверку символов. Если в реестре накопились поврежденные записи об истории подключений или произошел сбой в библиотеке mstscax.dll, валидатор начинает блокировать стандартные символы разделителя.

Решение 1: Очистка истории подключений и кэша в реестре

Один из самых действенных методов — это принудительная очистка веток реестра, в которых хранятся данные о предыдущих сессиях. Рассмотрим подробнее, как это сделать безопасно.

  1. Нажмите комбинацию клавиш Win + R, введите regedit и нажмите Enter.
  2. Перейдите к следующему разделу:

    HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client

  3. Внутри этого раздела найдите ветку Default. В правой части окна вы увидите параметры с именами MRU0, MRU1 и так далее (Most Recently Used). Выделим и удалим все эти параметры.
  4. Затем перейдем в ветку Servers, которая находится там же. В ней содержатся подразделы с IP-адресами или именами хостов, к которым вы ранее подключались.
  5. Проанализируем ситуацию: если их много, проще удалить всю ветку Servers целиком, а затем создать пустой раздел с тем же именем. Это полностью обнулит историю для клиента RDP.
  6. После выполнения манипуляций обязательно перезагрузите компьютер или хотя бы перезапустите процесс explorer.exe.

Решение 2: Обход графического интерфейса через командную строку

Если визуальный редактор блокирует ввод двоеточия, мы можем передать параметры подключения напрямую ядру RDP-клиента, минуя стадию проверки в окне ввода. Для этого воспользуемся командной строкой или окном «Выполнить».

Разберем по шагам запуск подключения через консоль:

  1. Нажмите Win + R.
  2. В строке ввода напишите команду с флагом /v (от англ. server): mstsc /v:192.168.1.100:54321
  3. Нажмите Enter. Система сразу инициирует процесс соединения, не задавая лишних вопросов о допустимости символов в строке.

Этот метод хорош тем, что он исключает влияние любых ошибок интерфейса mstsc.exe.

Решение 3: Ручное создание и редактирование RDP-файла

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

  1. Откройте стандартное окно подключения RDP.
  2. Введите только IP-адрес или имя компьютера (без порта), чтобы система не ругалась.
  3. Нажмите кнопку Показать параметры, а затем — Сохранить как.... Сохраните файл на рабочий стол под любым именем (например, server.rdp).
  4. Нажмите правой кнопкой мыши на созданный файл и выберите Открыть с помощью -> Блокнот.
  5. Найдите строку, начинающуюся с full address:s:.
  6. Допишите порт вручную: full address:s:192.168.1.100:54321
  7. Сохраните изменения в Блокноте и запустите файл двойным кликом. При таком способе запуска Windows использует данные напрямую из файла, игнорируя валидатор поля ввода.

Решение 4: Использование синтаксиса IPv6 (квадратные скобки)

Иногда помогает «обмануть» логику программы, используя синтаксис, предназначенный для IPv6-адресов. Даже если вы используете обычный IPv4, заключение адреса в квадратные скобки заставляет систему использовать альтернативный алгоритм обработки строки.

Попробуйте ввести адрес в таком формате:

[192.168.1.100]:54321

В некоторых сборках Windows 10 это мгновенно снимает ограничение на ввод двоеточия, так как парсер распознает конструкцию как единый объект сетевого адреса.

Решение 5: Проверка целостности системных файлов

Если проблема носит системный характер (например, ошибка появляется при каждом подключении на конкретной машине, а на других — нет), выясним причину возможного повреждения библиотек. В Windows 10 компоненты RDP могут быть модифицированы сторонними патчами (например, для разрешения нескольких одновременных сессий) или повреждены антивирусным ПО.

  1. Запустите командную строку (CMD) от имени администратора.
  2. Выполните команду проверки: sfc /scannow
  3. Дождитесь окончания процесса. Если система обнаружит повреждения в файле mstsc.exe или mstscax.dll, она автоматически восстановит их из защищенного хранилища.

Дополнительные рекомендации

Проанализируем ситуацию с раскладкой клавиатуры. Крайне редко, но случается, что символ двоеточия, введенный в русской раскладке (через Shift+6), кодируется иначе, чем в английской (Shift+ж). Хотя визуально они идентичны, для системы это могут быть разные символы. Попробуйте переключиться на английскую раскладку EN (США) и ввести адрес заново с клавиатуры, не используя копирование и вставку.

Также стоит проверить наличие сторонних программ, перехватывающих ввод (менеджеры паролей, утилиты для автоматической смены раскладки вроде Punto Switcher). Они могут добавлять в строку невидимые символы форматирования, которые и вызывают гнев валидатора RDP.

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

← На главную