d1e594f057
Добавлен DAK-PC-RESOLVED.md, README и runbook отражают фактическое решение без repair install; перечислены внешние задачи планировщика для отключения. Co-authored-by: Cursor <cursoragent@cursor.com>
3.9 KiB
3.9 KiB
DAK-PC — проверенное решение (2026-06-12)
Фактический исход: RDP с TLS восстановлен без repair install Windows.
Симптомы
- Клиент RDP: «внутренняя ошибка»
- Журнал System: 1057, Schannel 36870
TermServiceсбрасывалSSLCertificateSHA1Hash- Временно работал обход
SecurityLayer=0
Что не из этого репозитория (можно отключить на ПК)
Создано вручную / другими скриптами во время отладки — не запускать после успешного ремонта:
| Артефакт | Назначение (предположительно) |
|---|---|
Задачи RdpBindFix, RdpNativeReset, FixRdpCertSystemOnce, RdpLegacyCert |
Автопочинка cert/bind |
CryptoRepair.ps1 |
ACL / crypto / cert (дублирует часть Fix-RdpTls) |
RDP-Login-Monitor (+ Watchdog) |
Мониторинг входов (по желанию) |
Последовательность, которая решила проблему
1. Самотесты (после исправления багов в скриптах)
cd C:\Soft\fix-DAK-PC\scripts
.\Invoke-RdpRepairSelfTest.ps1 -IncludeAdminTests
Ожидание: FAIL=0.
2. Полный ремонт — фазы 3–5
.\Fix-RdpTls.ps1
На DAK-PC:
- Фаза 2 (нативный сброс): cert появился, но привязка не прижилась → reboot не помог при повторе.
- Ответ n на reboot → фаза 3–5:
- создан cert
144D8D18C5452DBB8D3DE9FE6C61E69E2497E1A9 - ACL на
MachineKeys - cert в store
Remote Desktop - запись
SSLCertificateSHA1Hash(reg + WMI) - Hash BEFORE = Hash AFTER (TermService принял cert)
- создан cert
Скрипт тогда ошибочно показал ERROR из‑за сравнения байтов реестра с hex thumbprint (исправлено в RdpRepair 1.0.3).
3. Возврат TLS
git pull # версия RdpRepair 1.0.3+
.\Fix-RdpTls.ps1 -RestoreTls
Результат в логе:
Привязка cert принята TermServiceSecurityLayer=2, TermService перезапущен
4. На клиенте RDP (не на DAK-PC)
Remove-Item "HKCU:\Software\Microsoft\Terminal Server Client\Servers\DAK-PC" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKCU:\Software\Microsoft\Terminal Server Client\Servers\DAK-PC.b26.kalinamall.ru" -Recurse -Force -ErrorAction SilentlyContinue
Что не понадобилось на DAK-PC
- Repair install Windows (
docs/REPAIR-INSTALL.md) — запасной план при пустом Hash AFTER - Повторные reboot в цикле
- Задачи планировщика
RdpBind*/CryptoRepair.ps1
Критерии «готово» (выполнено)
- Cert в
Remote Desktop,NotAfterв будущем SSLCertificateSHA1Hash= thumbprint после перезапуска TermServiceSecurityLayer= 2- RDP с клиента работает
Минимальный набор файлов репозитория для повтора
| Файл | Зачем |
|---|---|
scripts/Fix-RdpTls.ps1 |
Единая точка входа |
scripts/lib/RdpRepair.Common.ps1 |
Логика cert/ACL/bind |
scripts/Invoke-RdpRepairSelfTest.ps1 |
Проверка перед ремонтом |
docs/DAK-PC-RESOLVED.md |
Этот сценарий |
docs/TROUBLESHOOTING.md |
События 1057/36870 |
docs/REPAIR-INSTALL.md |
Только если Hash AFTER реально пустой |