В этой статье рассмотрим несколько решений частых проблем с производительностью серверов RDS и опубликованных приложений RemoteApp на Windows Server 2019/2016. Эти решения помогут устранить задержки при работе пользователей, если ваша инфраструктура сталкивается с медленной работой RDS или RemoteApp. Прежде чем применять какое-либо решение, убедитесь, что оно соответствует вашей инфраструктуре.
Приобрести оригинальные ключи активации Windows Server RDS CAL можно у нас в каталоге:
Windows Server 2019 RDS User CAL — 3590 ₽
Windows Server 2016 RDS User CAL — 3390 ₽
Проблема с производительностью RDS в Windows Server 2016/2019 с User Profile Disks (UPD)
Одной из частых проблем на RDS серверах с Windows Server 2016/2019 является падение производительности при использовании профилей пользователей, хранящихся на User Profile Disks (UPD). Проблема заключается в том, что Windows Defender Firewall создает новые входящие и исходящие правила при каждом входе пользователя, и эти правила не удаляются после завершения сеанса.
Со временем количество правил может достигнуть критического значения, что вызывает замедление работы сервера RDS: длительный вход в систему, черный экран при подключении по RDP, зависание RDS-хостов, проблемы с меню «Пуск» и др.
Как проверить количество правил в Windows Defender Firewall:
Используйте следующую команду PowerShell:
(Get-NetFirewallRule).count
В нашем случае на одном из хостов оказалось 18 тысяч правил! Эти правила создаются для UWP приложений магазина Windows при каждом входе пользователя.
Решение проблемы:
1. Установите все последние обновления безопасности для вашей версии Windows Server (рекомендуемые патчи: KB4467684 для Windows Server 2016 и KB4490481 для Windows Server 2019).
2. Создайте следующий параметр реестра на RDS-хосте для автоматического удаления правил:
Ветка реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy
Параметры:
— Тип: REG_DWORD
— Имя: DeleteUserAppContainersOnLogoff
— Значение: 1
Команда PowerShell для создания параметра:
New-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy” -Type DWord -Name DeleteUserAppContainersOnLogoff -Value 1
3. Если у вас несколько RDS хостов, распространите этот параметр через GPO.
4. Вручную очистите правила брандмауэра, используя PowerShell или готовые скрипты с форумов, например, с [TechNet](https://social.microsoft.com/Forums/Azure/en-US/992e86c8-2bee-4951-9461-e3d7710288e9/windows-servr-2016-rdsh-firewall-rules-created-at-every-login?forum=winserverTS).
Для более стабильного решения можно использовать контейнеры профилей пользователей с помощью FSLogix вместо UPD.
Проблемы с мышью в RDP сессиях на Windows Server 2019/2016
После миграции на Windows Server 2019, многие пользователи начали жаловаться на проблемы с мышью в RDP сессиях: курсор медленно реагирует, дрожит и зависает.
Это может быть связано с высокой частотой опроса (Report Rate) и разрешением DPI у некоторых мышей, особенно игровых (например, у Logitech G203 частота опроса по умолчанию 1000 Гц). Высокая частота опроса создает нагрузку на RDP подключение и может вызывать тормоза.
Решение:
1. Уменьшите частоту опроса мыши до 125 Гц через утилиты настройки мыши от производителя.
2. Если это невозможно, попробуйте отключить тень курсора в настройках мыши (панель управления, main.cpl
) и установите схему указателя на «None».
Медленная работа RemoteApp в Windows 10
После обновления Windows 10 на клиентах до версий 1803 и 20H2, многие столкнулись с проблемами при работе с RemoteApp приложениями на серверах RDS. Меню приложений могут долго отрисовываться, пунктам меню требуется несколько кликов для активации, а сами окна RemoteApp замедляются в 2-3 раза.
Временное решение:
Измените значение параметра Use advanced RemoteFX graphics for RemoteApp на «Disabled» в редакторе локальной GPO:
Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment
В русской версии Windows:
Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удалённых рабочих столов -> Среда удалённых сеансов
Если опубликованы графические приложения, такие как CAD, без RemoteFX они могут работать некорректно.
Дополнительное решение — замена версии RDP клиента
Проблемы с RemoteApp наблюдались начиная с Windows 10 версии 1709, поэтому можно временно решить проблему, заменив файлы клиента RDP (mstsc.exe
и mstscax.dll
) на более старые версии из билдов Windows 10 1607 или 1703.
Шаги по замене файлов клиента RDP:
1. Скачайте архив с файлами RDP (mstsc-w10-1607) из Windows 10 1607.
2. Скопируйте оригинальные файлы mstsc.exe
и mstscax.dll
из C:\Windows\System32
в каталог C:\Backup
:
md c:\backup\
copy C:\windows\system32\mstsc.exe c:\backup
copy C:\windows\system32\mstscax.dll c:\backup
3. Назначьте своей учетной записи права владельца файлов и отключите наследование прав:
takeown /F C:\windows\system32\mstsc.exe
takeown /F C:\windows\system32\mstscax.dll
icacls C:\windows\system32\mstsc.exe /inheritance:d
icacls C:\windows\system32\mstscax.dll /inheritance:d
icacls C:\windows\system32\mstsc.exe /grant root:F
icacls C:\windows\system32\mstscax.dll /grant root:F
(В этом примере имя локальной учтённой записи с правами администратора – root. Замените ее на имя вашей учетной записи)
4. Замените файлы в каталоге C:\windows\system32\
на версии из архива.
5. Восстановите оригинальные разрешения на заменённых файлах. Включите наследование NTFS разрешений и назначьте владельцем файлов NT Service\TrustedInstaller:
icacls C:\windows\system32\mstsc.exe /inheritance:e
icacls C:\windows\system32\mstscax.dll /inheritance:e
icacls C:\windows\system32\mstsc.exe /setowner "NT Service\TrustedInstaller" /T /C
icacls C:\windows\system32\mstscax.dll /setowner "NT Service\TrustedInstaller" /T /C
6. Перерегистрируйте библиотеку:
regsvr32 C:\Windows\System32\mstscax.dll
Это решение временно исправит проблему с производительностью RemoteApp на клиентах Windows 10.
Заключение
В данной статье были рассмотрены решения типичных проблем с производительностью RDS и RemoteApp в Windows Server 2019/2016. Если в вашей инфраструктуре наблюдаются задержки и замедления при использовании RDS, примените указанные рекомендации, предварительно проверив их совместимость с вашим окружением.