feat: локальные скрипты починки RDP/TLS для Windows (fix-DAK-PC)

Fix-RdpTls.ps1 с фазами диагностики, cert, ACL, привязкой; самотесты; docs repair install и возврат TLS.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
PTah
2026-06-12 19:05:29 +10:00
commit 14348a0181
9 changed files with 1055 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
# 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.
## Нативный cert не создаётся после reboot
Store `Remote Desktop` пустой после цикла «выкл RDP → очистка → вкл RDP → reboot»:
- Запустите `Fix-RdpTls.ps1` фазы 4–6 локально.
- Если не помогло — 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` — ход ремонта