Windows 10 Po, RDP Server, "произошла внутренняя ошибка"

У меня есть машина с Windows 10 Pro, которая работает как терминал RDP для одного пользователя.

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

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

Remote Desktop Connection
An internal error has occurred.

Я попытался войти через RDC через мои учетные данные администратора, и я получаю ту же ошибку. Ошибка появляется сразу после нажатия кнопки подключения. Время обработки отсутствует, и попытка подключения, по-видимому, немедленно отклоняется сервером.

Я не могу отследить проблему до определенного времени или события. Это происходит, казалось бы, наугад. Иногда через несколько дней, иногда дважды за один день.

Перезапуск компьютера с Windows 10 Pro всегда решает проблему.

Странно, доступ к Event Viewer на машине с Windows 10 Pro также, похоже, проблема решена, но она почти всегда возвращается гораздо быстрее, если я использую это "исправление".

Говоря о Event ViewerЭто соответствующие ошибки, которые я обнаружил в журнале, связанном с RDC, когда мой логин был отклонен:

Error Event 227 RemoteDesktopServices-RdpCoreTS
    General: 'Failed OnConnected to Listener callback' in CUMRDPConnection::InitializeInstance at 606 err=[0x8007050c]
    Log Name: Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
    Source: RemoteDesktopServices-RdpCoreTS
    EventID: 227
    Task Category: RemoteFX module
    Level: Error
    User: NETWORK SERVICE
    OpCode: Runtime

Error Event 227 RemoteDesktopServices-RdpCoreTS
    General: spCoreConnection is NULL!' in CUMRDPConnection::TerminalInstance at 741 err=[0x8007139f]
    Log Name: Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
    Source: RemoteDesktopServices-RdpCoreTS
    EventID: 227
    Task Category: RemoteFX module
    Level: Error
    User: NETWORK SERVICE
    OpCode: Runtime

Вот некоторые другие ошибки, которые я заметил в журнале, но они не соответствуют моменту, когда я пытаюсь подключиться:

Warning Event 226, RemoteDesktopServices-RdpCoreTS
    General: RDP_TCP: An error was encountered when transitioning from StateUnknown in response to Event_Disconnect (error code 0x80070040)

Warning Event 142, RemoteDesktopServices-RdpCoreT
    General: TCP socket READ operation failed, error 64

Обратите внимание, что клиентские машины также работают под управлением Windows 10 Pro.

20 ответов

Может быть, немного поздно, но это сработало для меня, кредит Элтона Саула. Создайте DWORD ниже и установите значение 10000 Моя следующая задача - выяснить, почему у него есть выдающиеся соединения:)


https://social.technet.microsoft.com/Forums/en-US/e1d60cc0-0096-4859-a0e7-eb7f11905737/remote-desktop-v10-error-0x4-from-mac?forum=winRDc

Временный обходной путь для этой проблемы состоит в том, чтобы увеличить максимальный предел невыполненных соединений. В клиентских SKU по умолчанию это 100, а в серверных SKU это 3000. Следующий параметр реестра DWORD управляет этим значением:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\
DWORD: MaxOutstandingConnections
VALUE: 10000

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

В противном случае вы можете перезапустить службы удаленных рабочих столов в services.msc (и сказать "да", чтобы также перезапустить зависимую службу).

Но постоянное решение было бы предпочтительным.

Удаление сохраненных учетных данных в сеансе client.rdp и повторный вход решили эту проблему для меня. Редактировать Удалить

Любое обновление Windows 10 может сломать что-либо в системе, включая невозможность загрузки.

Вам нужно будет знать, когда RDP перестал работать, проверить, какое обновление применено в этот момент, и удалить это обновление. Обнаружена ошибка TCP 64 после обновления в нескольких случаях. Поэтому убедитесь, что вы нашли обновление, которое это сделало, а также попробуйте установить обновление KB3200970, если у вас его еще нет.

      Warning Event 226, RemoteDesktopServices-RdpCoreTS
    General: RDP_TCP: An error was encountered when transitioning from StateUnknown in response to Event_Disconnect (error code 0x80070040)

Warning Event 142, RemoteDesktopServices-RdpCoreT
    General: TCP socket READ operation failed, error 64

Вы также получите эти сообщения в журнале RemoteDesktopServices-RdpCoreT, если возникнут проблемы с сертификатом вашей смарт-карты. В нашем случае сертификат был отозван, однако мы не увидели никаких признаков этого при использовании подключения к удаленному рабочему столу из клиента Windows 10.

У меня такое случилось сегодня. Я заметил в журнале событий безопасности множество событий каждый раз, когда пытался подключиться:

      Credential Manager credentials were read.

Subject:
    Security ID:        SCREWDRIVER\Ian
    Account Name:       Ian
    Account Domain:     SCREWDRIVER
    Logon ID:       0x63814
    Read Operation:     Read Credential

This event occurs when a user performs a read operation on stored credentials in Credential Manager.

Это подсказало мне, что он снова и снова пытается кэшировать учетные данные. Я вернулся в клиент подключения к удаленному рабочему столу и удалил кэшированные учетные данные:

А потом снова подключился, заново ввёл пароль, и всё заработало.

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

Регистрация еще одной возможности, которую могут попробовать люди - это просто исправлено подключение из моего блока разработчика Windows 10 к серверу 2008R2:

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

Я проверял, могут ли различные клиенты по-прежнему подключаться к приложению на моем устройстве для разработки с помощью ограничительных протоколов, поэтому я использовал IISCrypto от Nartac, чтобы установить на своем устройстве для разработки Best Practices и перезагрузиться. В тот момент я все еще мог подключиться.

Затем я еще больше ограничился, стремясь получить A+ от SSL Test. Выбил несколько комбинаций, получил свой A+... и позже обнаружил, что ни к чему не могу подключиться по RDP!

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

Для меня проблема заключалась в том, что я делился rdp через облако MS и сохранял учетные данные. Я не мог delete сохраненные учетные данные, поскольку пользовательский интерфейс не отображал эту опцию, поэтому я открыл файл.rdp в коде VS и внес следующие изменения

  1. Обновить prompt for credentials:i:0 -> prompt for credentials:i:1
  2. удалить эту строку gatewaycredentialssource:i:
  3. Обновить promptcredentialonce:i:0 -> promptcredentialonce:i:1

затем сохраните как локальный каталог, который не хранится в облаке MS, чтобы это больше не повторилось

Каждый раз, когда мы получаем эту ошибку, это происходит потому, что кто-то уже вошел в систему или не вышел из системы должным образом. Сquery user /server:remote(замените удаленный IP-адрес или имя компьютера), хотя я могу видеть, кто вошел в систему. Вы можете удаленно выходить из системы с помощьюLOGOFF [session | id_session] [/SERVER:serveur](RPC необходимо активировать для обеих операций).

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

обновить попробуйте этот пример. Измените полный адрес XXXX и USERNAME, затем сохраните как

xxxx.rdp

screen mode id:i:2
use multimon:i:0
desktopwidth:i:3840
desktopheight:i:2160
session bpp:i:24
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:0
full address:s:X.X.X.X
audiomode:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
drivestoredirect:s:
autoreconnection enabled:i:1
authentication level:i:2
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
username:s:USERNAME
gatewaybrokeringtype:i:0

Я просто пробую следующее и сработало:

Просто попробуйте подключиться, используя существующее имя пользователя и пароль, затем mstsc попытается подключиться, на самом деле он подключится, а затем экран сервера Windows сообщит вам, что введенные имя пользователя и пароль неверны, затем просто пользователь исправит имя и пароль и будет работать.

На вкладке "Дополнительно" RDP-соединения найдите "если аутентификация сервера не удалась". По умолчанию установлено "Предупредить меня". Измените это, чтобы "соединиться и не предупреждать меня". Это просто работает для меня на нескольких машинах.

Та же ошибка возникает с Windows Server 2019.

В дополнение к приведенным выше записям журнала событий, я вижу сообщение об ошибке 1006 Microsoft-Windows-TerminalServices-RemoteConnectionManager/Admin Сервер узла сеансов удаленных рабочих столов получил большое количество незавершенных соединений. Система может быть атакована.

Используя Wireshark, я вижу только одну попытку подключения. Сервер отправляет TCP RST, что, очевидно, вызывает записи журнала событий, которые мы видим. Возможно, настройки по умолчанию из старых версий Windows были отменены. Я установил MaxOutstandingConnections на 3000, так как @Dexmox размещен здесь и могу подтвердить, что он работает как на серверной, так и на клиентской версиях Windows.

$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server"
$Name = "MaxOutstandingConnections"
$value = 3000

IF(!(Test-Path $registryPath))
  {
    New-Item -Path $registryPath -Force | Out-Null
    New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -Force | Out-Null}
 ELSE {
    New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -Force | Out-Null}

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

Например, для брандмауэра Windows на сервере:

  1. Откройте брандмауэр Windows в режиме повышенной безопасности.
  2. Щелкните Правила для входящих подключений.
  3. Для каждого входящего правила, имя которого начинается с удаленного рабочего стола:
    1. Дважды щелкните правило.
    2. Перейдите на вкладку Scope.
    3. В разделе " Удаленные IP-адреса" отметьте " Эти IP-адреса".
    4. Добавьте IP-адреса, чтобы ограничить входящие RDP-соединения.

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

Для меня это произошло потому, что я был в центре попытки взлома. Я продолжал пытаться подключиться к своему VPS-серверу по протоколу RDP и получал упомянутую здесь ошибку в 9 из 10 раз. Когда мне удалось войти в систему, каждую секунду в журнале событий безопасности появлялось около 5 сообщений «Ошибка аудита». Похоже, кто-то пытался подобрать пароль администратора. Ошибка RDP произошла, поскольку из-за этого было достигнуто максимальное количество одновременных подключений.

Я не смог ограничить свой брандмауэр только своим IP-адресом, как упоминалось в другом ответе, поэтому вместо этого я изменил порт, который прослушивает RDP, и открыл этот порт в брандмауэре Windows, и атаки (и ошибка) пошли прочь - по крайней мере, на данный момент. Я использовал этот метод, описанный на сайте Microsoft: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/change-listening-port .

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

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

Я попробовал вариант подключения reg file-max. Сначала это работало, но потом проблема осталась та же.

Проверяя службы, я увидел несколько остановленных служб удаленного рабочего стола. Инициализировал их все, и все снова работает.

Я, вероятно, создам командный файл для повторной инициализации, если он продолжится.

Другие вопросы по тегам