Начини на плащане 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, последвано от Cancel. Това често е начинът да се върнете към работния плот на RDP сесията. Ако не се получи, стартирайте Мениджър на задачите и процеса File Explorer (Файл -> Изпълнение на нова задача -> explorer.exe -> Ok);

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

Проверете дали кеширането е деактивирано в настройките на RDP клиента (mstsc.exe) (изключете Persistent bitmap caching (Постоянно кеширане на битови карти) в раздела Experience (Опит)) и дали се използва разделителната способност на екрана.

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

Тя се поддържа от отдалечения хост. Проверете дали на компютъра ви е инсталирана най-новата версия на видео драйвера. Можете да инсталирате драйверите ръчно или да ги настроите да се актуализират автоматично.

Настройки

Решение на проблема

За Windows 10 трябва да вмъкнете използването на XDDM вместо WDDM. Отворете редактора на групови политики gpedit.msc и в менюто Конфигурация на компютъра -> Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот -> Домакин на сесии за отдалечен работен плот -> Среда за отдалечени сесии задайте Използване на WDDM драйвер за графичен дисплей за връзки с отдалечен работен плот = Изключено. Актуализирайте груповите политики на RDP сървъра.

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

В Windows Server 2016 със зададено времетраене на RDS сесиите понякога потребителите се оплакват, че след свързване към прекъсната сесия тя не се активира правилно и те виждат черен екран. Тук ще помогне само прекратяването на RDP сесията от самия потребител(CTRL+ALT+End -> Излизане) или принудителното прекратяване на сесията от администратора (подобно на статията Failed to complete the required operation when logging in via RDP). Или конфигурирайте по-агресивни настройки за прекъсване на прекъснатите сесии;

Деактивирайте използването на протокола UDP 3389 за RDP трафика в допълнение към стандартния RDP порт TCP 3389 чрез параметъра Turn off UDP on client (Изключване на UDP на клиента) на клиента (Конфигурация на компютъра -> Политики -> Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот -> Клиент за връзка с отдалечен работен плот) или чрез регистъра: 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 - Конфигуриране на компресирането на данни за RemoteFX = Не използвайте алгоритъм за компресиране на RDP (Конфигурация на компютъра -> Административни шаблони -> Компоненти на Windows -> Услуги за отдалечен работен плот -> Домакин на сесия за отдалечен работен плот).

Ако проблемът с черния екран на RDP се появи в Windows Server 2019 и Windows 10 1809+. Отворете Event Viewer (Преглед на събитията) и проверете дневника на събитията Application and Service Logs (Дневници на приложения и услуги) -> Microsoft -> Windows -> RemoteDesktopService-RdpCoreTS.

Проверете дали има грешки като ' Failed GetConnectionProperty' в CUMRDPConnection::QueryProperty при 2884 err=[0x80004001] ', ' Connection doesn't support logon error redirector' в CUMRDPConnection::GetLogonerrorRedirector при 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 or so New-ItemProperty "HKLM:SOFTWAREMicrosoftTerminal Server Client" -Name UseURCP -PropertyType DWord -Value 0

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

Вече знаете как можете да решите този проблем.