Произошла внутренняя ошибка RDP, решаем за минуту
Добрый день! Уважаемые читатели и гости, IT блога Pyatilistnik.org. В прошлый раз мы с вами поговорили, про отложенный запуск служб в Windows, сегодня я хочу вам показать еще один не приятный момент в работе терминальных служб удаленного рабочего стола, а именно ошибка подключения "Произошла внутренняя ошибка", после чего подключение разрывается. Такое я встречал уже в Windows Server 2012 R2 и 2016. Давайте разбираться в чем дело.
Описание проблемы
Есть сервер с операционной системой Windows Server 2012 R2, сотрудник пытается к нему подключиться, через классическую утилиту "Подключение к удаленному рабочему столу", в момент авторизации, выскакивает окно с ошибкой "Произошла внутренняя ошибка".
В английском варианте ошибка звучит вот так:
После этого у вас разрывается соединение. Когда мы видели моргающий экран по RDP, там хотя бы вы попадали на сервер и могли открыть диспетчер устройств, тут сразу все обрубается на корню. Давайте смотреть, что можно сделать.
🆘 Что есть в логах?
Если посмотреть журналы событий на удаленном сервере, куда вы пытаетесь подключиться, то там порядок событий будет такой:
- 1️⃣ Первым будет идти событие ID 131 "The server accepted a new TCP connection from client IP-адрес:60050.". Тут вы увидите IP-адрес с которого идет попытка входа.
- 2️⃣ Далее событие ID 65 "Connection RDP-Tcp#11 created ".
- 3️⃣ Затем событие 141 "PerfCounter session started with instance ID 11". Тут сессии будет назначен ID.
- 4️⃣ За ним будет идти ID 142 "TCP socket READ operation failed, error 1236".
- 5️⃣ Потом вы увидите ID 72 "Interface method called: OnDisconnected"
- 6️⃣ И же после этого вам покажут, что сервер разорвал подключение: "ID 102 The server has terminated main RDP connection with the client."
- 7️⃣ В событии ID 145 так же появляются подробности "During this connection, server has not sent data or graphics update for 0 seconds (Idle1: 0, Idle2: 0).".
- 8️⃣ Могут быть события с ID 148 "Channel rdpinpt has been closed between the server and the client on transport tunnel: 0." или "Channel rdpcmd has been closed between the server and the client on transport tunnel: 0." или "Channel rdplic has been closed between the server and the client on transport tunnel: 0."
- 9️⃣ Ну и вишенка на торте, ошибка ID 227 "'Failed to get property Disconnect Reason' in CUMRDPConnection::Close at 2212 err=[0x80070057]"
Исправляем ошибку "Произошла внутренняя ошибка"
Так как по RDP подключиться не получается, то первым делом нужно проверить отвечает ли порт, по умолчанию это 3389. О том, как проверить порт на удаленном сервере я вам описывал, там все сводилось к выполнению команды Telnet, ознакомьтесь. Если порт отвечает, то делаем следующее.
Нужно удаленно перезапустить службу на этом сервере, чтобы сам сервер не перезагружать, так как в этот момент, он может выполнять важные задачи, можно использовать утилиту "Управление компьютером". Открыть ее можно через команду вызова оснастки, вызываем окно "Выполнить", через одновременное нажатие клавиш WIN и R, в котором пишем:
В открывшейся оснастке, щелкните в самом верху по пункту "Управление компьютером" правым кликом мыши, и выберите пункт "Подключиться к удаленному компьютеру".
Выберите пункт "Другим компьютером" и укажите его DNS имя, или найдите его через кнопку обзор.
Когда вы подключитесь к нужному серверу, перейдите в пункт "Службы и приложения - Службы", в списке сервисов найдите службу удаленных рабочих столов (Remote Desktop Services), и перезапускаем ее. После этого ошибка подключения по RDP "Произошла внутренняя ошибка", у вас должна пропасть.
Так же вы можете использовать оболочку PowerShell запущенную от имени пользователя, у которого есть права на удаленный сервер, где будет перезапускаться служба RDP. Выполните:
Дополнительные методы решения
Если вам не помог первый метод, перезапускающий службу удаленных рабочих столов, то можно попробовать выполнить правку реестра. Открываете редактор реестра Windows, если у вас физического доступа к серверу нет или он далеко и вам лень до него идти, то можно попробовать подключиться к реестру удаленного сервера.
Для этого в окне "Редактор реестра" пункт меню "Файл - Подключить сетевой реестр".
В открывшемся окне "Выбор компьютера" указываем его DNS-имя или ip-адрес и нажимаем ок. У вас будет установлено подключение к удаленному реестру сервера, что испытывает проблемы.
Находим ключ CheckMode по пути
Выставляем ему значение о, чтобы отключить у программы КриптоПРО CSP проверку контрольных сумм. Еще один важный момент, если у вас старая версия КриптоПРО, то это так же может быть источником, проблем, недавний пример, это ошибка "Windows installer service could not be accessed". Для этого удаляем правильно КриптоПРО CSP и ставим последнюю доступную версию.
Еще можно попробовать изменить значение вот такого ключа реестра:
Найдите ключ SessionImageSize и задайте ему значение 0x00000020.
Дополнительные настройки RDP клиента
Например ошибка "An internal error has occurred" у меня встретилась на Windows Server 2022 и там мне помогло в настройках клиента RDP отключение некой опции. Перейдите в дополнительные настройки клиента для удаленного подключения, где н вкладке "Experiens (Взаимодействие)" вам нужно убрать галку с опции "Восстановить подключение при разрыве (Reconnect if the connection is droped)"
На каких-то сайтах предлагалось именно активировать данный пункт.
Удаление кэша подключений
Еще одним методом решения внутренней ошибки подключения по RDP может выступать поврежденный кэш, который хранится на локальном компьютере пользователя. Для его отображения вам необходимо включить отображение скрытых папок и удалить содержимое папки:
Обновление 07.12.2022
В декабре я вновь столкнулся с внутренней ошибкой, она еще стала проявлять себя вот так:
В логах сервера очень много ошибок:
Она возникает, при каждой попытке войти на рабочий стол, это и есть проблема в моем конкретном случае. Устраните ее, и ошибка с подключекнием уйдет. Перезагрузка не нужна.
На клиентской машине откуда я пытался произвести подключение было три события:
Код 2808 - Ваш сеанс служб удаленных рабочих столов завершен. Соединение с удаленным компьютером было потеряно, возможно, из-за проблем с сетевым подключением. Попробуйте снова подключиться к удаленному компьютеру. Если проблема не исчезнет, обратитесь к сетевому администратору или в службу технической поддержки.
Так как у меня это была виртуальная машина, то я смог легко подключиться через консоль. В случае с ошибкой "Отключение RDP ClientActiveX (Причина= 2308)", я отключил на сервере и клиенте autotuninglevel:
Не забываем перезагрузиться.
Это не помогло, далее я выполнил еще несколько рекомендаций. Я установил на сервер валидный SSL сертификат для RDP сессии. В ошибке 0x907, RDP соединение разрывалось, так как клиентская система не доверяла самоподписному сертификату удаленного сервера. Это нужно поправить, ссылку я указал, обязательно проверьте, кто сейчас выступает в роли активного:
Еще я создал параметр реестра MaxOutstandingConnections. В Windows по умолчанию есть ограничения на количество сетевых подключений, так например в серверной версии, это параметр равен 3000, в десктопной 100. Из-за нестабильной сети, они могут быстро забиваться. Одно из решений проблемы с внутренней ошибкой подключения, является увеличение этого значения. В командной строке в режиме администратора выполните:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server"
-Name MaxOutstandingConnections -Value 10000 -PropertyType DWORD -Force
После этого нужно перезагрузиться.
Временное решение
Пока вы не уберете ошибку "Код ошибки, возвращенный модулем шифрования: ошибка 0x8009030D", описанную выше, вы можете понизить уровень безопасности вот такими манипуляциями, это устранит "An internal error has occurred".
На обычном сервере все это помогло, а вот на ноде RDSH ошибка оставалась. Тут я решил проверить догадку с уровнем безопасности "Configure security settings". На моей ферме был уровень "Согласования (Negotiate)"
Я пошел на сервер, где были проблемы подключения и решил проверить один параметр локальной политики gpedit.msc.
Тут попробуйте выставить уровень RDP. В результате у меня после этих настроек все заработало. Теперь нужно понять, что изменилось. В настройках RDS фермы указано, что мы используем уровень согласование:
Если и это вам не помогло, то нужно смотреть вариант в сторону обновления или переустановки драйверов на сетевую карту, тут вы определяете модель вашей карты или материнской платы, если в нее все интегрировано и обновляете. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Дополнительные ссылки
- https://serverfault.com/questions/934026/windows-10-pro-rdp-server-an-internal-error-has-occurred
- https://social.technet.microsoft.com/Forums/en-US/e1d60cc0-0096-4859-a0e7-eb7f11905737/remote-desktop-v10-error-0x4-from-mac?forum=winRDc
- https://learn.microsoft.com/en-us/answers/questions/108219/can-not-rdp-to-2012-r2-standard-server-after-septe.html
- https://serverfault.com/questions/541364/how-to-fix-rdp-on-windows-server-2012
Добрый день, а если удаление Крипто про не помогло, приступаю к поиску параметра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SessionImageSize в реестре, но его нет, создавать?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SessionImageSize
Да
Иван, доброго дня! Помогите найти точку ошибки! Win 10 -64 обычный клиент VPN подключается и RDP работает. Установлен клиент VPN Global Protect VPN поднимается, но RDP — Произошла внутренняя ошибка! На соседнем ноуте под Win 7-64 подключается нормально. В чем проблема, как думаете?
Код ошибки какой, что за vpn сервер к которому идет подключение, есть ли на нем логи, если да, то что там есть?
Здравствуйте при подключении к удаленному компьютеру через compmgmt.msc вылазит ошибка компьютером …….. Невозможно управлять. Убедитесь что сетевой путь указан правильно, компьютер доступен в сети, а на конечном компьютере включены нужные правила брандмауэра Windows. Как решить проблему? При подключении к удаленному компьютеру так же пишет внутренняя ошибка, причем у меня несколько удаленных компьютеров, на другие подключаюсь без проблем, а к этому не могу, при подключении настройка удаленного сеанса выдает ошибку внутренняя ошибка. Помогите плиз))))
Через оснастку services.msc посмотрите включена ли там служба WMI
Добрый день, при подключении к RDS опубликованным приложениям открывается приложение (скажем 1С) и ошибка (Невозможно применить тему к рабочему столу. попробуйте выбрать другую тему.) 1с работает исправно.
Подскажите куда копать, всю голову сломал уже
Вы публикуете в RDWeb? Я правильно понимаю?
«Вы публикуете в RDWeb? Я правильно понимаю?»
Совершенно верно, во время открытия любого опубликованного приложения (1С или Калькулятор) следом выскакивает эта ошибка отдельным окном
Все приложения при этом работают нормально
На брокерах и сервере RDS WEB в логах, есть ошибки и если есть то с какими кодами?
Ни там ни там ничего конкретного в логах не нашел
GPO на группу серверов RDS своя и настроено том только самое необходимое
Server 2012 r2
Ошибка началась после установки роли IIS. Удалил IIS не помогло.
Перепробовал все из указанного. Не сработало.
Куда копать??
В логах какие ошибки есть?
Привет, подскажи, если эта вылетает ошибка только с определенных ПК, с остальными все нормально заходит, в чем может быть дело?
Я бы проверил версию клиента RDP, посмотрел каких обновлений не хватает
К такому же самому серверу, с такой же версией без проблем подключился.
До окна авторизации все проходит нормально. Потом ввожу пароль и ошибка.
В любом случае, нужно искать отличия, в логах как понимаю ошибок каких-то нет? Обновления везде все установлены одинаковые?
Здравствуйте, после замены роутера компьютер перестал подключаться по RDP к удаленному рабочему столу. Если поставить обратно старый все запускается. Подскажите что нужно сделать?
В моем случае проблема решилась сменой MTU на VPN-интерфейсе на значение 1350 командой:
netsh interface ipv4 set subinterface «Имя_VPN_интерфейса» mtu=1350 store=persistent. Обращу внимание что у меня проблемы возникли при работе через встроенный клиент VPN Windows поэтому и правил средствами netsh самой windows, другие рещения не спасали. При использовании сторонних клиентов VPN ищите вариант изменения MTU именно на этих клиентах.
Приветствую. Проблема такая, подключение по rdp проходит без проблем, день отработал, закрыл соединение, комп в покое, по прохождении некоторого времени не могу подключиться, выдант ошибку «Удаленному рабочему столу не удалось подключиться к удаленному компьютеру по следующим причинам», если перезагрузить этот компьютер, то ошибка исчезает, до следующего простоя. В чем может быть проблема? Прошу по возможности отаетить на электронку.
В логах есть, что-то из ошибок и предупреждений?
Спасибо за статью. Одного юзера не подключало к серверу с ошибкой «Повторите попытку», остальные работали нормально. Помогло почистить кэш, подключиться к другому ПК, и только потом уже пустило на «проблемный».
Добрый день! Рад, что смог вам помочь.
расскажу, как я отловил эту ошибку и как я ее заброл, может кому будет полезно. заглючил центр обновления, вылетала ошибка связи с серверами микрософта. перелопатил кучу всего и понял, что проблема в сертификатах. поскольку сервер 2022, то, в отличие от 2012, для него не предусмотрена процедура пакетного обновления сертификатов с помощью kb исправления. и я не придумал ничего умнее, чем удалить ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates и на ее место затянуть ветку с рабочего сервера. конечно же, бэкап сделал, но права!!!
короче, обновление заработало, но получил взамен вот такой трабл с rdp. в итоге подключил удаленный реестр, предоставил права на эту ветку для всех на чтение, удаленно перезапустил службу «Настройка сервера удаленных рабочих столов» (спасибо за хинт удаленного подключения с оснасткой «управление компьютером») и все заработало. теперь буду вычислять какие права предоставить на каждый сертификат, ибо чтение для всех не вариант.
Иван здравствуйте! У меня происходит на серверах внутренняя ошибка. Код ошибки 0x4 Расширенный код ошибки 0x0. Подскажите могу ли я связаться с вами где то, чтобы обсудить сотрудничество, по устранению данной ошибки ?
Здравствуйте.Код ошибки 0x4 Расширенный код ошибки 0x0 выскакивает только когда ноутбук подключен к wifi через роутер.Когда раздаю с телефона такой проблемы нетя
А в просмотре событий есть ошибки, интересен текст из них
При схожих ошибках, рекомендации приведенные в статье, мне не помогли.
Проблема решилась с помощью импорта ветки реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] с аналогичного исправного сервера. Конечно же на забываем делать бэкап этой ветки перед импортом.