Достаточно часто ко мне обращаются заказчики из числа небольших организаций, где полноценный Windows Server с RDS и AD был бы явно избыточен, но потребность в сервере терминальных служб все-таки присутствует. Еще во времена WinXP и WS2003 была популярной процедура для патча termsrv.dll, снимающая ограничения на количество одновременных сеансов. Способ жив и сейчас, однако в прежние времена ОС если и обновлялись, то, зачастую, не так основательно, чтобы нарушить работоспособность функционала, реализованного посредством патча. Сейчас — каждое обновление несёт возможный риск того, что «все сломается». Альтернатива — ничего не модифицировать, но прицепить к терминальным службам отдельную библиотеку, реализующую весь необходимый функционал без вмешательства в системные файлы. Этот инструмент получил название RDP Wrapper.
Вышеуказанная ссылка ведет на один из актуальных форков, автор которого постарался добиться работоспособности на всех популярных версиях Windows, даже там, где функционал удаленных рабочих столов не включен в поставку, например — Home редакция (в данном случае инсталлятор внесет все необходимые изменения в реестр, создаст нужные группы пользователей и т.д.). Информация о конфигурации библиотеки RDP Wrapper для разных версий и билдов Windows содержится в файле rdpwrap.ini — существуют отдельные проекты, посвященные непрерывной актуализации этого файла. На мой взгляд — концепт оказался крайне удачным, настолько, что RDP Wrapper я использую у себя и для WS2022 (в целях замены штатному механизму с лицензированием устройств\пользователей). Но если в серверных Windows пользователи не допущены к возможности перезагрузки или выключения компьютера, то в десктопных Windows они могут это сделать. Чтобы лишить пользователей этой возможности нужно использовать групповые политики. Открываем оснастку gpedit.msc:
Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя -> Завершениие работы системы
Из перечня групп удаляем группу «Пользователи». Особо стоит отметить, что если используются программы типа StartIsBack или OpenShell для замены таскбара и меню «Пуск», то замененные элементы интерфейса могут игнорировать настройки групповых политик. Если вы не используете подобные решения, то и поводов для беспокойства нет.
После установки файлы RDP Wrapper будут расположены по следующему пути:
%ProgramFiles%\RDP Wrapper
Желающие переместить содержимое директории в другое место должны будут скорректировать путь в реестре к библиотеке:
HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters
ServiceDll=%ProgramFiles%\RDP Wrapper\rdpwrap.dll
Еще следует обратить внимание, что после установки RDP Wrapper будет создана задача в планировщике с именем RDPWUpdater — при каждом запуске компьютера она будет проверять обновления для файла rdpwrap.ini. Отключите эту задачу или разрешите ей выход в сеть через брандмауэр.
