Способи оплати Abuse

Чорний екран замість робочого столу в RDP сесії

07.07.2024, 03:31

Давайте розглянемо, що робити, якщо під час RDP-підключення до віддаленого хосту ви бачите не робочий стіл, а чорний екран. Проблема особливо часто зустрічається в ранніх версіях Windows 10 і Windows Server 2019. Забігаючи наперед скажемо, що проблема вирішується.

Що таке RDP?

RDP (Remote Desktop Protocol) - протокол віддаленого робочого столу, розроблений компанією Microsoft. Він призначений для віддаленого керування комп'ютером через мережу. RDP дає змогу користувачам підключатися до віддаленого комп'ютера або сервера та керувати ним, ніби вони перебувають безпосередньо перед ним.

Протокол широко використовується для віддаленої підтримки, адміністрування серверів, віддаленої роботи та інших подібних цілей. RDP вбудований в операційні системи Windows і доступний як клієнтська та серверна частини. Також існують сторонні програми, які підтримують RDP для підключення до віддалених робочих столів, навіть якщо вони працюють на інших операційних системах, таких як macOS або Linux.

Для чого необхідний RDP?

RDP (Remote Desktop Protocol) використовується для віддаленого доступу та керування комп'ютером або сервером через мережу. Ось кілька основних причин, для яких використовується RDP:

  1. Віддалене адміністрування: системні адміністратори можуть використовувати RDP для віддаленого керування серверами без необхідності фізичної присутності перед ними.
  2. Віддалена підтримка: технічні фахівці можуть використовувати RDP для віддаленої підтримки користувачів, допомагаючи їм вирішувати проблеми на їхніх комп'ютерах.
  3. Віддалена робота: користувачі можуть використовувати RDP для доступу до свого робочого столу і файлів з будь-якого місця, де є доступ до інтернету, що дає змогу працювати віддалено.
  4. Навчання і демонстрації: RDP може використовуватися для навчання користувачів або демонстрації програмного забезпечення, дозволяючи показувати робочий стіл іншим користувачам.
  5. Централізоване управління: RDP дає змогу централізовано керувати кількома комп'ютерами або серверами з одного місця.

Інструмент надає зручний спосіб віддаленого доступу до комп'ютерів і серверів для різних цілей.

Причини виникнення проблеми

Чому замість RDP сесії з'являється чорний екран?

Причины возникновения проблемы

Діагностувати або привласнити їх до категорії, тобто класифікувати, досить проблематично.

Але ми постараємося це зробити:

Під час сесії RDP натисніть CTRL+ALT+END, після чого Скасування. Часто так можна повернутися до робочого столу RDP сесії. Якщо не допомагає, запускаємо диспетчер завдань Task Manager і процес File Explorer (File -> Run new task -> explorer.exe -> Ok);

Настройки RDP клиента

Перевірте, що в налаштуваннях RDP клієнта (mstsc.exe) вимкнено кешування (вимикаємо Persistent bitmap caching на вкладці Experience) і використовується роздільна здатність екрана.

Разрешение экрана

Вона підтримується віддаленим хостом. Перевірте, що на вашому ПК стоїть остання версія відеодрайвера. Ви можете встановити драйвери ручним способом або встановити їх автоматичне оновлення.

Настройки

Вирішення проблеми

Для Windows 10 потрібно вставити використання XDDM замість WDDM. Відкриємо редактор групових політик gpedit.msc і в розділі Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment ставимо значення параметра Use WDDM graphics display driver for Remote Desktop Connections = Disabled. Оновлюємо групові політики на RDP сервері.

Групповая политика

У Windows Server 2016 з виставленими таймаутами для RDS сесій інколи надходять скарги користувачів, що після підключення у відключену (disconnected) сесію, вона не активувалася коректно і вони бачили чорний екран. Тут допоможе тільки завершення RDP сеансу користувачем самостійно(CTRL+ALT+End -> Sign out), або примусове завершення сесії адміністратором (за аналогією зі статтею Не вдається завершити потрібну операцію під час входу по RDP). Або налаштуйте більш агресивні налаштування вимкнення disconnected сесій;

Вимикаємо використання протоколу UDP 3389 для передавання RDP-трафіку на додаток до стандартного RDP-порту TCP 3389 через параметр Turn off UDP on client на клієнті (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client) або через реєстр: reg add "HKLMSOFTWAREPoliciesMicrosoftWindows NTTerminal ServicesClient" /v "fClientDisableUDP" /t REG_DWORD /d 1 /f . Для вимкнення UDP-протоколу для RDP-трафіку на стороні сервера, налаштуйте параметр GPO ...Remote Desktop Session Host -> Connections -> Select RDP transport protocols = Use only TCP.

Локальная политика

Інші способи

З більш екзотичних рекомендацій від Microsoft, які допомагають далеко не завжди, але можуть виправити саме джерело проблеми:

Перевіряємо RDP сервер, клієнт і все мережеве обладнання між ними. Вони мають бути налаштовані на однаковий MTU.

Вимикаємо опцію стиснення даних, що передаються, у сеансі RDP через редактор локальної GPO - Configure compression for RemoteFX data (Налаштування стиснення даних RemoteFX) = Do not use an RDP compression algorithm (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host).

Якщо проблема з чорним екраном у RDP трапляється на Windows Server 2019 і Windows 10 1809+. Відкрийте Event Viewer і перевірте журнал подій Application and Service Logs -> Microsoft -> Windows -> RemoteDesktopService-RdpCoreTS.

Перевірте, чи є там помилки на кшталт ''Failed GetConnectionProperty'' in CUMRDPConnection::QueryProperty at 2884 err=[0x80004001]'', ''Connection doesn't support logon error redirector'' in CUMRDPConnection::GetLogonerrorRedirector at 4199 err=[0x80004001]''.

Якщо є, вимикаємо використання протоколу URCP (Universal Rate Control Protocol), який використовується для передавання деяких даних між RDP-клієнтом і сервером поверх UDP(MS-RDPEUDP2): reg add "HKLMSOFTWAREMicrosoftTerminal Server Client" /v "UseURCP" /t REG_DWORD /d 0 /f або так New-ItemProperty 'HKLM:SOFTWAREMicrosoftTerminal Server Client' -Name UseURCP -PropertyType DWord -Value 0

Проверяем RDP сервер

Тепер ви знаєте, як можна вирішити цю проблему.