Сервер терминалов на MS Windows SBS 2003

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1505
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Сервер терминалов на MS Windows SBS 2003

Сообщение UncleFather »

Проблема:

Имеется Microsoft Windows Small Business Server 2003 x86 Service Pack 2 Rus.

Как известно, Microsoft накладывает ограничения на использование этого сервера в качестве сервера терминалов:

В Windows Small Business Server 2003 доступен только удаленный рабочий стол для администрирования сервера. Только этот режим доступен, так как Windows Small Business Server 2003 всегда выполняется на контроллере домена, и при запуске сервера терминалов на контроллере домена безопасности сервера и безопасность конфиденциальных данных организации могут быть подвержены излишнему риску.

Из-за этого ограничения, число одновременно подключенных терминальных пользователей не превышает двух:

RDP-TCP
RDP-TCP

При этом режим работы сервера "Для удаленного администрирования" сменить не удается, поскольку в SBS это не предусмотрено:

Режим лицензирования
Режим лицензирования

В апплете "Установка и удаление программ" пункт "Сервер терминалов отсутствует".

Решение:

Для снятия ограничений на количество терминальных подключений, необходимо просто изменить несколько байтов в файле "termsrv.dll", который лежит в папке "%systemroot%\system32".
Для SBS 2003 SP2 x86 Rus, "termsrv.dll" версии 5.2.3790.3959:

0002A894: 8B 31
0002A895: FF C0
0002A896: 55 C2
0002A897: 8B 04
0002A898: EC 00

Утилита WinHex поможет в поиске и исправлении нужных байтов.

Внимание!

Целостность %systemroot%\system32\termsrv.dll защищается системой, поэтому последовательность действий должна быть примерно такой:

  1. Копируем "%systemroot%\system32\termsrv.dll" во временное место, например, в папку "C:\Temp\"

  2. Патчим "C:\Temp\termsrv.dll"

  3. Копируем с заменой пропатченный "C:\Temp\termsrv.dll" в папку "%systemroot%\system32\dllcache\"

    Код: Выделить всё

    copy C:\Temp\termsrv.dll %systemroot%\system32\dllcache /y
  4. Копируем с заменой пропатченный "C:\Temp\termsrv.dll" во все места, где имеется "termsrv.dll", кроме "%systemroot%\system32\", поскольку он открыт и не заменится

    Код: Выделить всё

    copy C:\Temp\termsrv.dll %systemroot%\ServicePackFiles\i386 /y
  5. Переименовываем "%systemroot%\system32\termsrv.dll", например "termsrv.dll.orig"

    Код: Выделить всё

    ren %systemroot%\system32\termsrv.dll termsrv.dll.orig
  6. Копируем на его место пропатченный "C:\Temp\termsrv.dll"

    Код: Выделить всё

    copy C:\Temp\termsrv.dll %systemroot%\system32 /y
  7. Перезагружаемся

Обратите внимание!

Несмотря на то, что после этих манипуляций ограничения на количества терминальных сессий снимаются:

Диспетчер служб терминалов
Диспетчер служб терминалов

Тем не менее, в апплете "Настройка служб терминалов" режим лицензирования так и остается в режиме "Удаленный рабочий стол для администрирования", а в свойствах подключения RDP-TCP максимальное число подключений остается равным двум. Не обращаем на это внимания и пользуемся сервером терминалов с неограниченным числом подключений.

Дополнения:

  • Чтобы снять ограничения на подключение только администраторов запускаем Пуск - Панель управления - Администрирование - Настройка служб терминалов - Подключения - RDP_TCP"

    Код: Выделить всё

    tscc.msc /s

    на вкладке "Разрешения" добавляем кого нужно, например группу "Пользователи удаленного рабочего стола" с необходимым уровнем доступа:

    Права доступа
    Права доступа

    И не забываем добавить нужных пользователей в группу безопасности "Пользователи удаленного рабочего стола"

  • Если очередное обновление Windows заменит пропатченный "termsrv.dll", то будет необходимо провести всю процедуру заново

  • Пропатченный "termsrv.dll" версии 5.2.3790.3959 для SBS 2003 SP2 x86 Rus можно скачать отсюда:

    termsrv.rar
    termsrv.dll
    (111.44 КБ) 982 скачивания
  • Командный файл, копирующий и заменяющий оригинальный termsrv.dll пропатченным берем здесь:

    CopyTermSrv.rar
    CopyTermsrv
    (744 байт) 847 скачиваний

    Его необходимо запускать из той же папки, где лежит пропатченный termsrv.dll


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение