UncleFather » 21 май 2012 11:16, Пн
Проблема:
Имеется Microsoft Windows Small Business Server 2003 x86 Service Pack 2 Rus.
Как известно, Microsoft накладывает ограничения на использование этого сервера в качестве сервера терминалов:
В Windows Small Business Server 2003 доступен только удаленный рабочий стол для администрирования сервера. Только этот режим доступен, так как Windows Small Business Server 2003 всегда выполняется на контроллере домена, и при запуске сервера терминалов на контроллере домена безопасности сервера и безопасность конфиденциальных данных организации могут быть подвержены излишнему риску.
Из-за этого ограничения, число одновременно подключенных терминальных пользователей не превышает двух:
- 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 защищается системой, поэтому последовательность действий должна быть примерно такой:
-
Копируем "%systemroot%\system32\termsrv.dll" во временное место, например, в папку "C:\Temp\"
-
Патчим "C:\Temp\termsrv.dll"
-
Копируем с заменой пропатченный "C:\Temp\termsrv.dll" в папку "%systemroot%\system32\dllcache\"
Код: Выделить всё
copy C:\Temp\termsrv.dll %systemroot%\system32\dllcache /y
-
Копируем с заменой пропатченный "C:\Temp\termsrv.dll" во все места, где имеется "termsrv.dll", кроме "%systemroot%\system32\", поскольку он открыт и не заменится
Код: Выделить всё
copy C:\Temp\termsrv.dll %systemroot%\ServicePackFiles\i386 /y
-
Переименовываем "%systemroot%\system32\termsrv.dll", например "termsrv.dll.orig"
Код: Выделить всё
ren %systemroot%\system32\termsrv.dll termsrv.dll.orig
-
Копируем на его место пропатченный "C:\Temp\termsrv.dll"
Код: Выделить всё
copy C:\Temp\termsrv.dll %systemroot%\system32 /y
-
Перезагружаемся
Обратите внимание!
Несмотря на то, что после этих манипуляций ограничения на количества терминальных сессий снимаются:
- Диспетчер служб терминалов
Тем не менее, в апплете "Настройка служб терминалов" режим лицензирования так и остается в режиме "Удаленный рабочий стол для администрирования", а в свойствах подключения RDP-TCP максимальное число подключений остается равным двум. Не обращаем на это внимания и пользуемся сервером терминалов с неограниченным числом подключений.
Дополнения:
-
Чтобы снять ограничения на подключение только администраторов запускаем Пуск - Панель управления - Администрирование - Настройка служб терминалов - Подключения - RDP_TCP"
на вкладке "Разрешения" добавляем кого нужно, например группу "Пользователи удаленного рабочего стола" с необходимым уровнем доступа:
- Права доступа
И не забываем добавить нужных пользователей в группу безопасности "Пользователи удаленного рабочего стола"
-
Если очередное обновление Windows заменит пропатченный "termsrv.dll", то будет необходимо провести всю процедуру заново
-
Пропатченный "termsrv.dll" версии 5.2.3790.3959 для SBS 2003 SP2 x86 Rus можно скачать отсюда:
-
Командный файл, копирующий и заменяющий оригинальный termsrv.dll пропатченным берем здесь:
Его необходимо запускать из той же папки, где лежит пропатченный termsrv.dll
[size=150][b]Проблема:[/b][/size]
Имеется Microsoft Windows Small Business Server 2003 x86 Service Pack 2 Rus.
Как известно, Microsoft накладывает [url=http://support.microsoft.com/kb/828056]ограничения на использование этого сервера в качестве сервера терминалов[/url]:
[quote]В Windows Small Business Server 2003 доступен только удаленный рабочий стол для администрирования сервера. Только этот режим доступен, так как Windows Small Business Server 2003 всегда выполняется на контроллере домена, и при запуске сервера терминалов на контроллере домена безопасности сервера и безопасность конфиденциальных данных организации могут быть подвержены излишнему риску.[/quote]
Из-за этого ограничения, число одновременно подключенных терминальных пользователей не превышает двух:
[attachment=5]02.jpg[/attachment]
При этом режим работы сервера "Для удаленного администрирования" сменить не удается, поскольку в SBS это не предусмотрено:
[attachment=4]01.jpg[/attachment]
В апплете "Установка и удаление программ" пункт "Сервер терминалов отсутствует".
[size=150][b]Решение:[/b][/size]
Для снятия ограничений на количество терминальных подключений, необходимо просто изменить несколько байтов в файле [i][b]"termsrv.dll"[/b][/i], который лежит в папке [i][b]"%systemroot%\system32"[/b][/i].
Для [b]SBS 2003 SP2 x86 Rus[/b], [i][b]"termsrv.dll"[/b][/i] версии [b]5.2.3790.3959[/b]:
[quote]0002A894: 8B 31
0002A895: FF C0
0002A896: 55 C2
0002A897: 8B 04
0002A898: EC 00 [/quote]
Утилита [url=http://manaeff.ru/forum/download/file.php?id=168]WinHex[/url] поможет в поиске и исправлении нужных байтов.
[color=#FF0000][b]Внимание![/b][/color]
Целостность [i][b]%systemroot%\system32\termsrv.dll[/b][/i] защищается системой, поэтому последовательность действий должна быть примерно такой:
[list=1]
[*] Копируем [i][b]"%systemroot%\system32\termsrv.dll"[/b][/i] во временное место, например, в папку [i][b]"C:\Temp\"[/b][/i]
[*] Патчим [i][b]"C:\Temp\termsrv.dll"[/b][/i]
[*] Копируем с заменой пропатченный [i][b]"C:\Temp\termsrv.dll"[/b][/i] в папку [i][b]"%systemroot%\system32\dllcache\"[/b][/i]
[code]copy C:\Temp\termsrv.dll %systemroot%\system32\dllcache /y[/code]
[*] Копируем с заменой пропатченный [i][b]"C:\Temp\termsrv.dll"[/b][/i] во все места, где имеется [i][b]"termsrv.dll"[/b][/i], кроме [i][b]"%systemroot%\system32\"[/b][/i], поскольку он открыт и не заменится
[code]copy C:\Temp\termsrv.dll %systemroot%\ServicePackFiles\i386 /y[/code]
[*] Переименовываем [i][b]"%systemroot%\system32\termsrv.dll"[/b][/i], например [i][b]"termsrv.dll.orig"[/b][/i]
[code]ren %systemroot%\system32\termsrv.dll termsrv.dll.orig[/code]
[*] Копируем на его место пропатченный [i][b]"C:\Temp\termsrv.dll"[/b][/i]
[code]copy C:\Temp\termsrv.dll %systemroot%\system32 /y[/code]
[*] Перезагружаемся[/list]
[color=#FF0000][b]Обратите внимание![/b][/color]
Несмотря на то, что после этих манипуляций ограничения на количества терминальных сессий снимаются:
[attachment=3]03.JPG[/attachment]
Тем не менее, в апплете [b]"Настройка служб терминалов"[/b] режим лицензирования так и остается в режиме "Удаленный рабочий стол для администрирования", а в свойствах подключения RDP-TCP максимальное число подключений остается равным двум. Не обращаем на это внимания и пользуемся сервером терминалов с неограниченным числом подключений.
[size=150][b]Дополнения:[/b][/size][list]
[*] Чтобы снять ограничения на подключение только администраторов запускаем [b]Пуск - Панель управления - Администрирование - Настройка служб терминалов - Подключения - RDP_TCP"[/b]
[code]tscc.msc /s[/code]
на вкладке [b]"Разрешения"[/b] добавляем кого нужно, например группу [b]"Пользователи удаленного рабочего стола"[/b] с необходимым уровнем доступа:
[attachment=2]04.JPG[/attachment]
И не забываем добавить нужных пользователей в группу безопасности [b]"Пользователи удаленного рабочего стола"[/b]
[*] Если очередное обновление Windows заменит пропатченный [i][b]"termsrv.dll"[/b][/i], то будет необходимо провести всю процедуру заново
[*] Пропатченный [i][b]"termsrv.dll"[/b][/i] версии [b]5.2.3790.3959[/b] для [b]SBS 2003 SP2 x86 Rus[/b] можно скачать отсюда:
[attachment=1]termsrv.rar[/attachment]
[*] Командный файл, копирующий и заменяющий оригинальный [i][b]termsrv.dll[/b][/i] пропатченным берем здесь:
[attachment=0]CopyTermSrv.rar[/attachment]
Его необходимо запускать из той же папки, где лежит пропатченный [i][b]termsrv.dll[/b][/i] [/list]