Делаем из Windows 8.1 сервер терминалов
Очень часто в организациях встает задача получения единовременного доступа нескольких пользователей к одному компьютеру в сети. Это может быть какой-то компьютер с уникальным для организации ПО, которое имеется только в единственном экземпляре. Вроде бы ничего страшного нет в том, чтобы подцепиться к этому компьютеру, сделать свою работу на этой программе, сохранить результат на файловое хранилище и все. Однако на деле не все так просто.
Windows имеет в своем составе проприетарный протокол RDP, который позволяет подключиться к любому компьютеру под управлением «окон», если на нем включена данная функция. Казалось бы, ввел команду mstsc, там уже ввел параметры ip и иные данные и пользуйся удаленным компьютером.
Однако никто не отменял всякие ограничения десктопных версий. В клиентских версиях Windows можно единовременно работать только одному пользователю, будь то локальный или удаленный. Хотите большего – пожалуйста, разворачивайте в организации Windows Server, покупайте на него лицензии сервера терминалов и пользуйтесь подобным решением. Все легально и просто. Но стоит денег, причем, немалых.
Вторым вариантом мог бы стать Linux сервер с развернутым на нем xRDP и запуском на нем многих Windows программ под Wine. Но нужно понимать, что далеко не все программы запустятся на нем, особенно те, которые используют Direct X, все равно скорость работы такой системы будет оставлять лучшего. Но зато затраты будут минимальны. И все легально.
Тем не менее, когда нужно пользоваться всего парой-тройкой программ по удаленке и то непостоянно, то приведенные выше примеры просто подобны стрельбе из пушки по воробьям. Гораздо проще из десктопной версии Windows патчем сделать многопользовательский сервер терминалов.
Учтите, что данный способ нарушает лицензию Windows и вы все делаете на свой страх и риск. Если вас все устраивает, тогда давайте приступим.
Наверняка вы слышали, что в основе серверных операционок от Microsoft лежит тоже самое ядро, что и в десктопных версиях. Да, оно дополнено и переработано с учетом специфики, но суть остается такой же. Я просто написал это к тому, чтобы вы поняли, почему описанный способ будет работать без проблем.
Терминальный сервер Windows довольно-таки уникальная технология и своего рода прорывная. Он позволяет нескольким пользователям заходит и работать в системе под своими учетными записями, абсолютно не мешая друг другу. Подобную связку можно сделать на Linux, используя xRDP, однако там всегда что-то идет криво, в противовес винде.
Но только если в случае с Linux в терминальный сервер можно превратить обычный десктопный ПК с такой же версией ОС, то в Windows это не позволяет. Тем не менее, это обходится достаточно читерским способом – патчится библиотека, отвечающая за терминальный сервер.
Итак, патч предполагает собой замену оригинального системного файла %SystemRoot%\System32\termsrv.dll (библиотека, используемая службой Remote Desktop Services).
Перед заменой системной библиотеки создадим резервную копию файла termsrv.dll командой:
copy c:\Windows\System32\termsrv.dll termsrv.dll_old
Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old
Скачайте нужный архив для своей версии Windows. Для 32 разрядной Windows 8.1 можете скачать здесь, для 64 битной –здесь. Не забудьте переименовать файл!
В Windows 8 предварительно нужно изменить значение следующих ключей в ветке реестра HKLM\System\CurrentControlSet\Control\Terminal Server\:
- fDenyTSConnections (DWORD) —0
- fSingleSessionPerUser (DWORD) — 0
Затем переходим в каталог C:\Windows\System32, находим файл termsrv.dll и открываем его свойства.
Нам нужно перейти во вкладку «Безопасность» и нажать кнопку «Изменить». В списке доступа найдите группу локальных администраторов и предоставьте ей полные права на файл.
Следующий шаг перед заменой файла библиотеки, открыть консоль управления службами (services.msc) и остановить службу Удаленных рабочих столов (Remote Desktop Services)
Теперь нужно скопировать скачанный вами файл termsrv.dll в C:\Windows\System32 с заменой файла и запустить службу удаленных рабочих столов. Перезагрузите компьютер.
Не забудьте проверить, что вы разрешили подключение к вашему компьютеру по RDP. Если вы все сделали правильно и ошибок система не выдала, то, поздравляю, вы только что сделали из Windows 8.1 Pro свой сервер терминалов!
Терминальный сервер и Windows 10
Для тех пользователей, кто обновился до Windows 10 и хочет из нее сделать сервер терминалов, у меня есть отличная новость -описанный способ в статье применим к этой операционке. Так что вы спокойно можете сделать из Windows 10 сервер терминалов