Windows 10 тонкий клиент сервер

Thinstation по русски Всё о лёгком подключении тонкого клиента

Искать

Все о правильной активации Windows 10 тут

Терминальный сервер из Windows 10

Disclaimer: статья размещена только в познавательных целях.

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows 10 можно изменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:\Windows\System32.

Прежде, чем править или заменять файл termsrv.dll желательно создать его резервную копию. Это поможет вам в случае необходимости вернуться к исходной версии файла. Запустите командную строку с правами администратора и выполните команду:

Прежде чем править файл termsrv.dll, вам нужно стать его владельцем и предоставить группе администраторов полные права на него. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

Должно появится сообщение: «Успех. Владельцем файла (или папки) «c:\Windows\System32\termsrv.dll» является группа администраторов» или «SUCCESS: The file (or folder): «c:\Windows\System32\termsrv.dll» now owned by the administrators group».

Теперь предоставим группе локальных администраторов полные права на файл termsrv.dll (Full Control):

(или Administrators в англоязычной версии Windows). Должно появится сообщение: «обработанный файл: c:\Windows\System32\termsrv.dll Успешно обработано 1 файлов; не удалось обработать 0 файлов» или «processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:

Прежде чем идти дальше, вам нужно узнать вашу версию (билд) Windows 10. Проще всего это сделать с помощью следующей команды PowerShell:

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Windows 10 x64 2004

Версия Windows 10 Найти строку Заменить на
39 81 3C 06 00 00 0F 84 D9 51 01 00 B8 00 01 00 00 89 81 38 06 00 00 90
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00
Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00
Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Например, для самой первой редакции Windows 10 x64 RTM 10240 (версия файла termsrv.dll — 10.0.10240.16384) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

39 81 3C 06 00 00 0F 84 73 42 02 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

Сохраните файл и запустите службу TermService.

Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

Преимущество способа включения нескольких RDP сессий в Windows 10 путем замены файла termsrv.dll в том, что на него не реагируют антивирусы.
Основной недостаток — вам придется вручную править файл при каждом обновлении билда Windows 10 (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений).

PS
Попалась ещё такая информация:

1903 и 1909 оригинал и патч:
Find:
39 81 3C 06 00 00 0F 84 5D 61 01 00
Replace With:
B8 00 01 00 00 89 81 38 06 00 00 90
Find:
04 74 11 48 8D 15 77
Replace With:
04 EB 11 48 8D 15 77
Find:
58 01 00 00 FF 15 F7
Replace With:
58 00 00 00 FF 15 F7

Альтернативой модификации файла termsrv.dll является использования проекта RDP Wrapper Library.
Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10.
RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.
Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.

Скачать RDP Wrapper можно с репозитория GitHub (последняя доступная версия RDP Wrapper Library v1.6.2)

Терминальный сервер

Терминальный сервер — устройство, предоставляющее удаленный доступ к рабочим столам, делегирующее вычислительные ресурсы конечному пользователю. Используется со специализированным программным обеспечением, поддерживающим возможность работы посредством удаленной сессии. В 2020 году технология сохраняет свою актуальность, так как позволяет экономить и получать максимальную выгоду.

Пришло время подробнее узнать про терминальный сервер, ведь применения такого аппаратно-программного комплекса широко распространено. Иногда проще сделать одну производительную единицу техники и создать десяток рабочих столов с удаленным доступом, чем применять множество персональных компьютеров, усложняющих обслуживание и администрирование.

Назначение терминального сервера

Предположим, возникла такая ситуация. Есть 10 сотрудников компании, им необходимо работать с Word, Exel, отправлять почту и обрабатывать заказы в CRM. Иногда требуется интерфейс работы с 1С. Конечно, можно каждому работнику купить по ПК, но каких вложений это потребует? При том на компьютер нужно будет установить Windows, периодически обслуживать. Одни сложности.

Есть более простой способ решить задачу:

создать центральный узел, в качестве которого выступит сервер терминалов;

позволить доступ конечного пользователя к нему;

выделять ровно столько мощностей, сколько потребуется для решения задачи.

Как видите, терминальный сервер позволяет просто и незамысловато решить задачу. Ставите один производительный сервер, создаете 10 учетных записей для сотрудников, ставите тонкие клиенты и даете доступ к ТС. Просто учтите, что следующее нужно в достаточных объемах:

количество оперативной памяти;

Как видите, учесть требуется минимальное количество факторов, но могут возникнуть другие проблемы — лицензии. Тут есть свой подход, позволяющий хорошо сэкономить, если решили действовать легально. В конце статьи о них расскажу.

Технологии

Требования к устройству будут разниться от численности пользователей, операционной системы и требований программного обеспечения. Пойдем от простого к сложному. Начнем с требований к программному обеспечению.

Здесь зависит от типа гостевых сессий. Например, для каждого рабочего стола может инициализировать отдельный процесс, который будет потреблять указанное в требованиях количество вычислительных ресурсов, например, у Adobe Acrobat встречалась такая проблема. Процессы рендеринга при отображении страниц, ускорение 2 D- графики, разные типы сглаживания, работали для каждого удаленного рабочего стола отдельно, что сжирало производительность колоссально.

Второй тип, когда терминальный доступ предоставляется не посредством запуска отдельных рабочих столов, а созданием отдельных сессий в одном приложении. Например, так построены веб-серверы, которые работают под одной ОС, но создают разные сессии внутри себя.

Так что, в первую очередь нужно выяснить, сколько будет съедать ресурсов отдельный процесс. Фактически, придется вычислить полное потребление каждого рабочего стола. Занятие довольно сложное.

Теперь вопрос об операционной системе. Вообще, раскрыть в рамках статьи подобный вопрос довольно сложно, существуют десятки ОС, наиболее распространенные из которых:

Unix- подобные, наиболее популярные из которых относятся к подтипу Linux ;

Windows, в том числе и серверные версии;

BSD, также UNIX- подобная система, но перетерпевшая колоссальные изменения;

множество других, например, самописных, заточенных под специализированные задачи.

Каждая OS будет иметь собственные требования, а также разные возможности предоставления терминального доступа. Требования к устройству будут серьезно разниться в зависимости от типа операционной системы.

И на закуску. Численность пользователей наиболее важна, ведь в зависимости от численности единовременных сессий будут зависеть конечные требования к терминальному серверу. Фактически, каждый человек — потенциальный удаленный рабочий стол. Придется считаться с этим, когда создаете техническую инфраструктуру.

Требования к железу

Посмотрели, с чем придется столкнуться? Отлично. Надеюсь, вы понимаете, что не смогу раскрыть всевозможные варианты сборок под каждую задачу. Только под те, что реализовывал самостоятельно, могу рассказать. Но всегда сталкивался с несколькими проблемами, которым стоит уделить внимание.

Когда проектируете сервер терминалов , всегда учитывайте простой факт — лучше выделить на каждый рабочий стол отдельный поток процессора. Например, если пользователей 20, то рекомендуется взять минимум 10-ядерный CPU с 20 потоками. Но тут зависит от требований приложений. Если это какой-нибудь офис, юзаемый сотрудниками, ничего страшного. А если ребята усиленно возятся с программированием и периодически запускают компиляторы, то каждый сотрудник может сжирать колоссальные ресурсы.

Дисковая подсистема — слабое звено терминального сервера, если там усиленно работают с файловой базой. Например, если пользователи запускают разные приложения, но все находятся на одном диске. Делайте RAID, устанавливайте SSD, раскидывайте приложения по разным накопителям. Сделайте так, чтобы один HDD не забивался кучей обращений.

Оперативная память. Если на всех требуется 64 ГБ, то большая ошибка ставить 2 планки по 32 ГБ. Желательно, чтобы ОЗУ тоже дробилась и количество обращений к планке не становилось критическим. Разбейте по 16 ГБ, так будет надежнее. Но учтите максимальное количество разъемов. Если их всего 4, а в планах 128 ГБ, то тогда придется остановиться на планках по 32.

Сетевая плата. Очень серьезная проблема! Почему? Да потому, что 1 GbE на большую численность соединений попросту не хватает. Не потому, что канал забивается, а попросту не параллелится. Это серьезная проблема. Берите платы с поддержкой независимых каналов, тогда проблем получится избежать. 2, а лучше 4.

Блоки питания лучше использовать с возможностью горячей замены, иначе при отказе одного, устройство будет обесточено. Не забудьте взять хороший источник бесперебойного питания. В случае обесточивания это даст время нормально завершить работу, сохранив все данные. Остальное уже по усмотрению. Впрочем, могу накидать несколько полноценных сборок, которые можете заказать. Все сделаю на базе Supermicro, чтобы обойтись без переплат. Цену указывать не буду, так как постоянно скачет, как надежда с небоскреба.

Сервер терминалов на Windows 10

Существует популярная и удобная возможность сделать из обычной, не серверной версии windows 10 терминальный сервер. После настройки к обычному компьютеру с windows на борту смогут одновременно подключаться несколько пользователей по rdp и работать. Наиболее популярное применение такого решения — работа нескольких пользователей с файловой базой 1С.

Введение

Ранее я описывал способ, как сделать терминальный сервер из Windows 7. Сейчас актуальна современная операционная система Windows 10. В связи с тем, что поддержка Windows 7 уже закончена, всем так или иначе со временем придется работать в Windows 10, даже если предыдущая версия вас полностью устраивает.

Полезная возможность сделать из обычной Window 10 терминальный сервер. Ранее я не один раз использовал эту функцию для работы в файловой 1С нескольких человек одновременно. Для небольшого коллектива из нескольких сотрудников это вполне удобно и оправданно, так как покупать полноценный сервер и серверную ОС для таких задач нецелесообразно.

Сразу сделаю важное замечание. Я не рекомендую использовать сервер терминалов на основе windows 10 там, где критично, чтобы все работало стабильно и простой недопустим. Часто после обновлений слетает настроенный функционал и восстановить его работу не всегда получится быстро. Имейте это ввиду.

Превращаем Windows 10 в сервер терминалов

Использовать будем привычное средство, которое хорошо себя зарекомендовало в Windows 7 — RDP Wrapper Library by Stas’M. Скачивайте последнюю версию либо с сайта создателя, либо с githab — https://github.com/stascorp/rdpwrap/releases. Последняя версия от 2017 года и из-за этого возникает множество проблем во время настройки, о которых я расскажу далее. Скорее всего у вас не заработает терминальный сервер, если вы возьмете только предложенный дистрибутив.

Архив состоит из нескольких файлов:

Настраивать терминальный сервер будем на следующей системе:

Это достаточно старый LTSB дистрибутив со всеми установленными обновлениями на момент актуализации статьи. Взял специально для примера эту не самую свежую, но и не сильно старую версию, которая все еще поддерживается.

Загружайте архив и распаковывайте его в папку. Затем запускаете командную строку с правами администратора. Чтобы это сделать, нажимаете Пуск -> Все приложения:

Ищите в самом низу раздел Служебные — Windows, в нем приложение Командная строка, запускаете ее от имени администратора:

В командной строке переходите в папку с распакованной программой с помощью команды cd и запускаете файл install.bat:

После успешной установки увидите информацию:

Создавайте новых пользователей, добавляйте их в группу Пользователи удаленного рабочего стола и проверяйте. Если получится и все заработает сразу — вам повезло. Пользуйтесь.

Если ничего не помогает и у вас никак не работает терминальное подключение для других пользователей, давайте разбираться дальше, в чем тут дело.

Не работает терминальный сервер в Windows 10

Если у вас изначально не заработал терминальный сервер на windows 10 и количество rdp подключений ограничено одним. Либо если у вас после обновление сломался терминальный доступ, то давайте разбираться, что с этим делать.

Для начала запустите утилиту RDPConf.exe и посмотрите ее вывод.

Значение listener state [not supportet] намекает на то, что у нас проблемы и rdp wrapper не работает. Проблема тут в том, что практически под каждую версию Windows 10 нужен свой файл конфигурации rdpwrap.ini. Так как автор давно забросил свою программу, автоматически эти конфигурации не обновляются. Их нужно либо писать самому, если понимаешь, как именно, либо искать где-то в интернете. Проще всего посмотреть в обсуждении проблем в репозитории на github — https://github.com/stascorp/rdpwrap/issues. Либо еще один вариант — репозиторий с утилитой для автоматического обновления rdpwrap.ini — https://github.com/asmtron/rdpwrap/. Там есть архив autoupdate.zip, который регулярно обновляется. Можно попробовать воспользоваться им.

Для того, чтобы на моей версии windows 10 заработал терминальный сервер, я через поисковики нашел файл конфигурации 10.0.14393.3503.txt под свою версию системы. Я взял содержимое этого файла и добавил его в существующий файл C:\Program Files\RDP Wrapper\rdpwrap.ini в самый конец.

После этого запустил еще раз RDPConf.exe.

Статус изменился на [fully supported] . Теперь нужно перезагрузить компьютер. После этого запустите утилиту RDPCheck.exe и убедитесь, что можно подключиться второй учетной записью к компьютеру.

У меня заработал терминальный доступ к windows 10 через 2 разные учетные записи.

Как починить rdpwrap после обновления windows

Если вы нигде не можете найти файл конфигурации rdpwrap.ini под вашу версию системы, то можно попробовать сделать следующий трюк. В некоторых случаях это помогает. По крайней мере у меня так иногда получалось.

Вам нужно найти рабочую конфигурацию под максимально близкую к вам версию. Далее просто в текстовом редакторе поменяйте указанную там версию на свою. Если разница в версиях не сильно большая, может помочь. Я видел в issues на гитхабе информацию о том, что получалось сразу же после поломки терминального доступа после очередного обновления, отредактировать конфиг под новую версию и все снова продолжало работать.

Так же в одном из обсуждений на github была предложена утилита с автоматическим обновлением rdpwrap.ini. Называется Automatic RDP Wrapper installer and updater — https://github.com/stascorp/rdpwrap/pull/859. Описание и инструкция по использованию есть внутри архива. Судя по отзывам, штука неплохая, работает. Если кратко, то пользоваться так:

  1. Скачиваем архив
  2. Распаковываем в Program Files\RDP Wrapper
  3. От имени администратора запускаем Program Files\RDP Wrapper\autoupdate.bat
  4. Проверяем конфигурацию через RDPConf.exe и пробуем подключаться.

В целом про превращение windows 10 в сервер терминалов для одновременного подключения и работы нескольких пользователей по rdp у меня все. Все очень легко и просто, можно использовать по необходимости для решения прикладных задач.

Часто задаваемые вопросы по теме статьи (FAQ)

Однозначно, да. У Microsoft есть отдельный продукт и отдельная программа лицензирования для работе в терминале. И все это стоит немалых денег. Так что создавая терминал из windows 10 вы точно нарушаете условия лицензионного соглашения.

Надежнее всего отложить обновление и подождать, пока не появится rdpwrap.ini под новую версию обновленной системы. После этого можно самому обновиться и обновить конфигурационный файл.

Судя по всему, да. Обновлений давно не было. Меняются только конфигурационные файлы rdpwrap.ini, которые обновляет сообщество. Сама программа при этом не обновляется.

Да, не работает. Если вы все сделали правильно, то можно работать как локально, так и удаленно одновременно разным пользователям. Если одновременно не получается работать больше, чем одному пользователю, значит терминальный режим в windows 10 не работает.

Я не рекомендую так делать. В настоящее время это очень опасно. В протоколе rdp регулярно находят уязвимости, через которые на ваш компьютер может попасть, к примеру, шифровальщик. Необходимо учитывать эти риски и время от времени обновляться, либо полностью закрывать несанкционированный доступ к компьютеру.

Заключение

Нужно понимать, что подобное использование Windows 10 скорее всего является нарушающим лицензионное соглашение. Хотя я не знаю, каким именно пунктом и условием это регламентируется, но наверняка что-то подобное в лицензионном соглашении есть, так как подобный способ распространен еще со времен XP. Имейте это ввиду, если будете настраивать в компании, которая следит за лицензионной чистотой.

Читайте также:  Как снять пароль с windows 10 pro
Оцените статью