Files
fix-DAK-PC/docs/TROUBLESHOOTING.md
PTah 27c1f49be1 fix: сравнение SSLCertificateSHA1Hash — байты реестра vs hex thumbprint
Реестр отдаёт byte[]; TermService принимал cert, но проверка Persisted ложно падала.
Добавлены ConvertTo-RdpRepairThumbprintHex и самотесты на форматы DAK-PC.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 21:12:37 +10:00

3.4 KiB
Raw Permalink Blame History

Troubleshooting — RDP / TLS / сертификаты

События

ID Источник Значение
1057 RemoteConnectionManager / System Ошибка SSL/TLS RDP; часто «неправильный алгоритм» или «не удалось создать самозаверяющий сертификат»
36870 Schannel SEC_E_ALGORITHM_MISMATCH (0x8009030d) — нет общего алгоритма с клиентом или нет валидного cert
258 Operational Прослушиватель RDP-Tcp запущен (норма)
261 Operational Входящее соединение на listener (норма)

Hash BEFORE есть, Hash AFTER пустой

TermService отверг сертификат при старте. Возможные причины:

  • Просроченный cert (лечится заменой).
  • Нет доступа к приватному ключу → фаза ACL в Fix-RdpTls.ps1.
  • CNG vs CSP — скрипт пробует RSA\MachineKeys.
  • Повреждение Schannel → repair install.

Важно: в реестре SSLCertificateSHA1Hash часто хранится как массив байт, а не hex-строка thumbprint. Скрипт нормализует оба формата перед сравнением. Если BEFORE и AFTER совпадают (в hex), привязка успешна — включайте SecurityLayer=2 (-RestoreTls).

Просмотр store Remote Desktop

Get-ChildItem Cert:\LocalMachine\Remote Desktop на части систем не работает (пробел в имени store). Используйте:

. .\lib\RdpRepair.Common.ps1
Get-RdpRepairRemoteDesktopCertificates | Format-List

или .\Fix-RdpTls.ps1 -DiagnoseOnly.

Нативный cert не создаётся после reboot

Store Remote Desktop пустой после цикла «выкл RDP → очистка → вкл RDP → reboot»:

  • Запустите Fix-RdpTls.ps1 фазы 46 локально.
  • Если не помогло — repair install.

GPO Terminal Services

Путь: HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

На DAK-PC и рабочих ПК может быть:

  • LicenseServers = 192.168.160.150
  • LicensingMode = 4

RDP при этом работал на других ПК — не единственная причина отказа DAK-PC. Убирать из GPO для Win10 Pro всё равно желательно (задача админа AD).

Локальное удаление откатывается gpupdate /force.

Клиент «внутренняя ошибка»

  1. Сброс кэша cert на клиенте (см. RETURN-TO-TLS.md).
  2. Проверка 1057/36870 на сервере в момент подключения.
  3. Сравнение SecurityLayer с рабочим ПК.

WinRM vs RDP

WinRM может работать при сломанном RDP TLS — это нормально. Починка RDP не требует локальной консоли, но локальный запуск скриптов надёжнее для cert/ACL.

Логи скриптов

  • %ProgramData%\RdpRepair\report-*.txt — диагностика
  • %ProgramData%\RdpRepair\repair-*.log — ход ремонта