ПоискПочтаДискКалендарьДеньгиМой КругФотки
Войти


Чтобы получить доступ ко всем возможностям Я.ру, создайте страницу или , если у вас она уже есть.
(^_^)

 

 

записи по  

месяцам · меткам · типам

выделить все / снять выделение

Показать
DiPrime написал
25 января 2010 года, 00:28
(^_^)
Терминальный сервер из Windows 7

Пользовательские операционные от Microsoft последних поколений, в частности рассматриваемая нами Windows 7, имеют возможность подключения по протоколу RDP (Remote Desktop Protocol). По-русски говоря, это удалённый рабочий стол. В серверных Windows имеется сервер терминалов, позволяющий подключиться к компьютеру посредством удалённого рабочего стола сразу нескольким пользователям. В несерверных системах же имеется ограничение на количество сессий, равное одному. То есть возможность подключится к своему компьютеру удалённо есть, но если в этот момент другой пользователь работает за компьютером, ему придётся завершить свой сеанс, чтобы позволить войти удалённому пользователю.

В моей большой семье из трёх человек (я, любимая жена и полуторагодовалый озорник сынишка) существует скрытая война за право обладания персональным компьютером. Сын ещё подрастает, компьютер по возрасту ему ещё не положен :) А вот с женой, которая в настоящий момент сдаёт сессию не поспоришь - ей решать надо. Поэтому существует в нашем хозяйстве ноутбук, естественно подключённый к малой домашней сети. Хоть интернет и расшарен в эту маленькую локалку, иногда требуется обоим супругам иметь возможность поработать на десктопе. Для этого я решил копать в сторону терминального доступа к компьютеру под управлением операционной системы Windows 7.

В своём дневнике я как-то писал о возможности  создания сервера терминалов под Windows XP, но недавно поставил себе Windows 7. Как тут обстоит дело с такой возможностью? 15 минут глупых запросов в поисковик решили проблему. Собрав во едино полученную информацию, ниже описываю свои действия, которые позволили мне работать за домашним компьютером параллельно с женой, обойдя ограничение в одну рабочую сессию.

 

( Далее )

Итак, в нашем арсенале:

1. Установленная операционная система MS Windows 7 Максимальная (можете попробовать с другими конфигурациями, думаю, получится).

2. Компьютер с выше упомянутой системой, подключённый к локальной сети.

3. Компьютер в локальной сети, с которого будем подключаться и который имеет RDP клиента (по сути любой компьютер с операционной системой Windows), в моём случае это ноутбук с Windows XP.

4. Администраторские права на компьютере с Windows 7.

5. Библиотека терминального сервера, в которой отключено ограничение на одну сессию. Залил на Народ: для 32-битной системыдля 64-битной системы.

Всё готово, можно начинать!

Общий план работы у нас таков: нужно заменить системную библиотеку termsrv.dll на указанную выше, создать отдельного пользователя для доступа к удалённому рабочему столу, разрешить доступ к удалённому рабочему столу этому пользователю, сделать так, чтобы этот пользователь имел администраторские права (можно и не давать таких прав, мне они нужны, чтобы работать удалённо на компьютере без каких-либо ограничений), прописать кое-какие ключи реестра, протестировать работу.

Как известно, Windows 7 ограничивает доступ к своим системным файлам даже администраторам. то есть для того, чтобы заменить файл termsrv.dll, необходимо предоставить такие права администратору, мало того, изменить владельца файла (попахивает Linux'ом). Для осуществления выше описанного кликаем правой кнопкой мыши по значку "Мой компьютер" и выбираем "Управление" или через "Панель управления" > "Администрирование" > "Управление компьютером" заходим в "Службы" и останавливаем службу "Службы удалённых рабочих столов". Через проводник заходим на C:\Windows\System32 и ищем там файлик termsrv.dll. Кликаем по нему правой кнопкой мыши, выбираем "Свойства". Далее заходим во вкладку "Безопасность", в поле "Группы или пользователи" выбираем группу Администраторы (вы же зашли в систему под администраторской учётной записью, правильно? Если нет, стоит исправить положение). В приведённых ниже иллюстрациях у меня уже свыставлены все параметры и разрешения, у вас изначально будут разрешения только на чтение и выполнение.

Далее под полем "Разрешения для группы Администраторы" жмём кнопку "Дополнительно". Должно вылезти окошко под названием "Дополнительные параметры безопасности для termsrv.dll", где во вкладке "Разрешения" под полем "Элементы разрешений" нажимаем кнопку "Изменить разрешения".

Вылезет ещё одно окошко под тем же названием, что и перед ним, только теперь вы можете выбрать в поле "Элементы разрешений" элемент "Администраторы" и нажать кнопку "Изменить".

Вылезет окошко "Элемент разрешений для termsrv.dll", где в поле "Разрешения" установите галочку на "Разрешить полный доступ".

Во всех окошках нажимаем ОК для применения внесённых изменений.

Теперь для изменения владельца файла termsrv.dll открываем командную строку с правами администратора.

Скопируем команду в окно командной строки:

takeown /f C:\Windows\System32\termsrv.dll

Нажимаем Enter. Система должна сообщить нам о том, что владелец файла изменён на текущего пользователя.

Переименовываем файл termsrv.dll во что-нибудь типа termsrv.dll.original, оставив его в качестве резервной копии. Скачанный файл переименовываем в termsrv.dll и копируем его в C:\Windows\System32.

Теперь производим записи в реестр, копируя команды в командную строку:

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 10 /f

В последней команде 10 - количество одновременных сессий. Можете здесь поставить нужное вам количество.

Далее нам нужно создать пользователя, через которого мы будем подключаться по RDP. Для этого кликаем правой кнопкой мыши по значку "Мой компьютер" и выбираем "Управление" или через "Панель управления" > "Администрирование" > "Управление компьютером" выбираем "Локальные пользователи и группы" в дереве слева, открываем папку "Пользователи", правой кнопкой мыши кликаем по свободному месту в списке пользователей, в контекстном меню выбираем "Новый пользователь...". Заполняем предложенную форму, жмём кнопку "Создать".

Теперь в списке пользователей находим нашего нового пользователя и двойным кликом по нему открываем свойства пользователя, где заходим во вкладку "Членство в группах" добавляем группы "Администраторы" и "Пользователи удалённого рабочего стола".

Всё готово, осталось только запустить службу "Службы удалённых рабочих столов" (чуть выше мы уже говорили о том, как остановить эту службу, теперь нам нужно её запустить) и разрешить удалённый рабочий стол, для чего в свойствах системы слева выбираем "Настройки удалённого доступа".

Вылезет окошко "Свойства системы" с открытой вкладкой "Удалённый доступ", где в блоке "Удалённый рабочий стол" выбираем средний параметр "Разрешить подключение от компьютеров с любой версией удалённого рабочего стола (опаснее)". Что тут опасного не понятно, но деваться нам некуда, так как я, например, буду подключаться с RDP клиента Windows XP.

Нажимаем кнопку "Выбрать пользователей", добавляем пользователя, созданного для удалённого доступа, с помощью кнопки "Добавить".

Перезагружаем машину, вот теперь действительно всё, на другой машине запускаю RDP клиент, ввожу адрес компьютера с Windows 7, выбираю пользователя, которого мы создавали для удалённого доступа, ввожу пароль и... пользуюсь удалённо своим компьютером в тот момент, когда за ним работает кто-то другой.

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

 

Команды для добавления ключей в реестр из командной строки брал отсюда.

Файлы termsrv.dll скачал здесь.

Благодарю всех тех, кто пролил свет на ситуацию и где-то подробно, где-то неочень разместил в интернете информацию по данной теме.

(^_^)

test

21 июля 2010 года, 07:56
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 10 /f

вместо 10 ставим 0, иначе больше одного терминала не подключится.
(^_^)

dmtrb

30 августа 2010 года, 00:00

DiPrime, спасибо за интересную статью! Очень помогло! Только добавьте пожалуйста, что необходимо перезагрузиться после всех действий!

test, пробовал как написано в статье:

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 10 /f

подключается несколько пользователей (правда с одного компа одновременно).


 

(^_^)

DiPrime

31 августа 2010 года, 22:14
Благодарю за отзыв! Очень приятно осознавать, что запись послужила полезным руководством, ваше замечание добавил.
(^_^)

tortsevanton

11 ноября 2010 года, 16:01
спасибо Вам за эту статью!!! она мне очень помогла!!!
(^_^)

Barmaley000000

27 июня 2011 года, 21:58

Вопрос: Пытаюсь, как здесь и описано, подключиться с Windows XP XP3 к
"серверу" на Windows 7 (x86). Проблема в том, что я к ней вообще никак
не могу подключиться - все настроил, как положено, доступ разрешил,
"завел" юзеров, разрешил, в итоге при попытке подключения на машине-XP в
терминале выдает сообщение:

- "Произошла ошибка проверки подлинности. Указанные данные не могут быть расшифрованы. Удаленный комп. такой-то."

Главное, что с семерки на хрюшу - подключаюсь, а вот так как надо - с хрюши на семерку - нет.

Может поможете, чем сможете?

(^_^)

DiPrime

11 июля 2011 года, 10:49

Помехой может быть фаерволл, попробуйте его отключить.

(^_^)

бегимот

21 сентября 2010 года, 06:01

А можно не прыгать с бубном, а скачать 60 кб утилитку MU


которая сама определяет версию termsrv.dll и патчит ее и вносит изменения в реестр.


Подходит для Win XP, Vista, 7

(^_^)

DiPrime

21 сентября 2010 года, 22:48
Можно, жаль только, что готовые решения выходят несколько позже мануалов в картинках :-):-)
(^_^)

Илья Cepгeeвич - Network Engineer, Web Technologist, Entrepreneur

10 июля 2011 года, 14:45
А с Windows 7 x64 SP1 работает?
Со всеми версиями (Home Basic например поддерживается ли)?
(^_^)

Олег

19 декабря 2010 года, 15:24
Огромное спасибо! Очень помогло. Скопирую себе инструкцию чтобы иметь всегда под рукой)
(^_^)

Алексей Т

27 декабря 2010 года, 14:06
Большое спасибо. Статья очень помогла. И написана так, как и должна быть написана подобная статья. Еще раз большое спасибо!
(^_^)

DiPrime

27 декабря 2010 года, 21:57
Благодарю за отзыв, очень приятно :-):-)
(^_^)

Vachj

2 февраля 2011 года, 23:26

Вместо манипуляций с первым файлом termsrv.dll, можно в окне ""Дополнительные параметры безопасности для termsrv.dll" выбрать вкладку "Владелец" и изменить владельца на "Администратор", потом творите что хотите с этим файлом.


А за статью отдельное СПАСИБО...

(^_^)

В.В.

12 марта 2011 года, 15:20
Получается не больше 5 терминальных юзеров по вашему и другим рецептам, в частности MU/MU64 .

А надо около 15 сделать.

Потому что добрая контора Canon сделала клевое МФУ 4018, у которого в природе не существует дров по серверные винды, даже самописных или хакерских. А надо запускать десяток 1с юзеров и с возможностью печати с того МФУ плюс боссы.
(^_^)

DiPrime

12 марта 2011 года, 17:13

Я не проверял действитеьное количество одновременных терминальных сессий, пенял на информацию от источника.

Скажите, что происходит при подключении шестой терминальной сессии? Если можно, то со скриншотом.

(^_^)

В.В.

12 марта 2011 года, 17:25

скриншот не получится пока.

 

Ничего не происходит, просто при подключении шестой вылетает пятая с окном, что терминал отключается и единственной кнопкой "ОК".

Если снова подключить пятую, то вылетит шестая.

Короче, вылетает последняя подключенная сессия.

(^_^)

DiPrime

12 марта 2011 года, 18:19

Спасибо за информацию!

Пока подумаю, как реализовать на базе двух компьютеров эмуляцию шести соединений :-):-) Надеюсь, системных мощностей для виртуальных машин мне хватит. Хочется убедиться, что заданная в строке переменная

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 10 /f
не влияет на количество сессий...
(^_^)

В.В.

12 марта 2011 года, 18:33

я просто делал.

Ставлю Virtualbox (сеть - мост на адаптер основной машины), в него семерку, в ней делаю настройки (жесткий айпи, плюс все корявки для расширения терминалов) и завожу юзеров, а потом из основной рабочей винды цепляю сколько угодно терминальных сессий. Машина виртуальная видится как комп в сети, и комп основной из виртуалки видится тоже как сетевая машина.

(^_^)

DiPrime

13 марта 2011 года, 13:33
Я хочу ещё одну виртуалку запустить и пробовать подключиться с ноутбука из локалки, чтобы проверить, влияет ли IP адрес компьютера на количество сессий.
(^_^)

a-kopachevsky

14 марта 2011 года, 18:37
Ребят. все работало супер до того как приполз SP1. Семерка энтерпрайз. И дома и на работе. После обоновдение до СП1 винда стала пускать только одного вышибая второго. Сделал все еще разок по инструкции. потом еще разок. Происходит следующее: Второй пользователь логинится удаленно. Даже пытается загрузить рабочий стол. Потом выскакивает сообщение, что неудается установить сеанс. Такое сообщение вываливается когда служба остановлена. Просто оно вываливается обычно сразу. А тут походу служба останавливается принудительно при попытке залогинится удаленно. Может есть мысли у кого?
(^_^)

dsl

28 апреля 2011 года, 22:25

Попробуй этот патч, у меня все заработало после его установки http://upload.com.ua/get/902530066/Win7_Sp1_RDP.zip

(^_^)

D2K D2000

8 апреля 2011 года, 09:04

Доброго времени суток, есть проблемка...

после подключения к удаленному столу и ввода логина с паролем вылетает ошибка что связь с компом потеряна, на компе к которому конечкусь виснет служба удаленных работчих столов. Но если на компе к которому подключаюсь пользователь которым захожу активет (тоесть я им зашел и произвел смену пользователя) то все подключается нормально.

может кто сталкивался?

(^_^)

Barmaley000000

1 июля 2011 года, 19:32

Пожалуйста, подскажите, если знаете:

необходимо подключиться с Windows XP XP3 к "серверу" на Windows 7 SP1 (x86). Проблема в том, что я к ней вообще никак 
не могу подключиться - все настроил, как положено, доступ разрешил, 
"завел" юзеров, разрешил им удаленные подключения, в итоге при попытке подключения на машине-XP в
терминале выдает сообщение:

- "Произошла ошибка проверки подлинности. Указанные данные не могут быть расшифрованы. Удаленный комп. такой-то."

Главное, что с семерки на хрюшу - подключаюсь, а вот так как надо - с хрюши на семерку - нет.

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

Я думаю, может проблема где-то в ХР?..

(^_^)

Илья Cepгeeвич - Network Engineer, Web Technologist, Entrepreneur

10 июля 2011 года, 15:03

галочка Разрешить подключение от компьютеров с любой версией удалённого рабочего стола (опаснее) точно стоИт?!

(^_^)

Barmaley000000

12 июля 2011 года, 13:14
Точно. Стоит. Такую мелочь - и не заметить...
(^_^)

Илья Cepгeeвич - Network Engineer, Web Technologist, Entrepreneur

10 июля 2011 года, 15:01

1) А подключиться к сеансу уже работающего пользователя, не отключая его самого можно?
Т.е. подключившись удалённо по RDP запустить на "сервере" диспетчер задач, найти локальный (/console) сеанс уже работающего пользователя и начать управлять им, причём одновременно, с его клавиатуры/мыши и с вашей. Не помню как конкретно называется пункт контекстного меню taskman в Windows Server 2003, но отключение от чужого сеанса происходит по нажатию Ctrl+* (вроде бы).

и

2) Зачем вы создаёте отдельного пользователя специально для удалённого доступа?
Не проще ли везде (и на нетбуке и на настольном компе) использовать одни и те же учётные данные (можно ещё локальные диски подключать к "серверу"),  не завершая сеанс когда жена отбирает компьютер, а просто переключая пользователя, а потом присоединяться к своему "висящему" консольному сеансу удалённо и доделывать начатые дела с нетбука по RDP?

(^_^)

DiPrime

11 июля 2011 года, 12:02

Честно, не пробовал,пока стояла семёрка, на компе был почти постоянно запущен терминальный юзер. А вообще, конечно, можно с любыми пользователями делать что угодно, в том числе и назначение/снятие прав (ввод/вывод из группы) на терминальное подключение.

(^_^)

Barmaley000000

12 июля 2011 года, 13:15
Подключиться к Семерке нельзя вообще. Никак. На этапе установления соединения, даже до запроса пользователя/пароля выдает упомянутое сообщение.
(^_^)

Barmaley000000

12 июля 2011 года, 13:16
а насчет отдельного пользователя - каких я уже только пользователей не пробовал - и встроенных, и  старых, и "новосозданных" - результат один и тот же.
(^_^)

Barmaley000000

20 июля 2011 года, 17:56

Я пробовал установить на семерку сервер с "нуля" (v.7600...) - до установки сервиспака1.
Мучался-мучался, ничего не вышло, поставил СП1 ( стала v.7601...),
по совету dsl скачал установил патч - бестолку.

(^_^)

Андрей Кусков

9 декабря 2011 года, 10:47

В центре управления сети посмотри правильно ли у тебя указан тип расположения сети, должен быть либо Домашняя, либо сеть предприятия. Смотреть на машинке, на которой делали настройку терминала!

(^_^)

Турчинский

8 ноября 2011 года, 19:56

Как-то давно (больше года) настраивал терминальный сервер у себя на w7. Недавно поставил windows 8 (точнее Windows Developer Preview). появилась необходимость и с ней то же самое проделать. Начал искать в интернете информацию по этому поводу и наткнулся опять на твою статью)) Вспомнил, что именно по ней настраивал w7. С "восьмеркой" не сталкивался случайно? очень бы не помешало.

(^_^)

DiPrime

15 ноября 2011 года, 11:17

В последнее время в основном работаю под Linux дистрибутивами, от винды уже, честно говоря, отвык и за новейшими тенденциями в развитии операционки от MS слежу мало. Преположительно логику работы системы они всё же кардинально не изменили и удалённое управление рабочим столом будет доступно и в Windows нового поколения. Также, скорее всего, там будет использоваться похожая схема (для совместимости с предыдущими версиями) с теми же библиотеками и настройками. Windows 8 пока нет возможности покрутить, но думаю, что эксперимент по выполнению тех же действий, что и на семёрке, провести стоит, почему-то я больше чем уверен, что способ сработает.

(^_^)

akkua

8 декабря 2011 года, 07:01
Ребята, помогите. После замены dll и внесения изменений в реестр не загружается винда. Пока на руках файлового менеджера на диске нет, и не думаю, что до этого окна дойдет, т.к. даже с диска с виндой не бутится ничего. Что делать в этой ситуации? Винда хр сп2
(^_^)

DiPrime

13 декабря 2011 года, 16:12
Винда хр сп2

Тема про Windows 7, про ХР сюда.

с диска с виндой не бутится ничего

Скажу банальность, но включена ли в биосе загрузка с привода и стоит ли он в бутдевайсах первым в списке?

(^_^)

audiobooksua

13 декабря 2011 года, 01:54

После внесения изменений, "терминальный сервер" поработал сутки, а теперь видит роутер (интернет есть), но не видит никаких соседних ПК в локальной сети. В чем может быть проблема?

Уже пробовал отключать файрвол, перезапускал службы...

(^_^)

DiPrime

14 декабря 2011 года, 12:42

Проверьте тип сети, он должен быть либо домашним либо сетью предприятия.

(^_^)

minnislam

15 марта 2012 года, 19:03

После установки соединения показывается окно Добро пожаловать и потом отключается с напдисью "подключение к удаленному рабочему столу потеряно". Win7 SP1 Enterprise. Видимо из-за SP1. Помогите найти решение. Спасибо.

(^_^)

Илья Cepгeeвич - Network Engineer, Web Technologist, Entrepreneur

23 марта 2012 года, 17:54

недавно кстати вышли обновления-заплатки для множества дыр в RDP

(^_^)

EvilLe0

7 мая 2012 года, 20:25

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

(^_^)

DiPrime

7 мая 2012 года, 22:06

Подозреваю, что вы пробовали настроить терминальный сервер на семёрке с первым сервиспаком. Есть информация, что данный способ может не реботать на SP1.

(^_^)

EvilLe0

8 мая 2012 года, 21:25

Во первых я не пробавал, а настроил терминальный сервер на windows7 sp1 и результативно им пользуюсь с любой точки доступа к интернету, а во вторых данный способ не работает на windows 98/2000/xp/7 по скоку бил отключил эту службу, но не удалил из библиотеки, чем я и пользуюсь.

(^_^)

DiPrime

9 мая 2012 года, 04:29

Статья именно для Win7 и в тексте есть ссылки на библиотеки. Данный способ успешно работает на нескольких машинах.

(^_^)

EvilLe0

4 июня 2012 года, 19:04

запустил 21 терминал, но не твоим способом, можно и больше, но боюсь за вычеслительную способность, 22 пользователя на одном жд многовато, так что не дотягивает твой способ, туфта кароче, ещё привязываешь no-ip и вообще сказка

(^_^)

EvilLe0

4 июня 2012 года, 19:34

гугл в помощь "из Windows 7 сделать Терминальный Сервер"

если ты про но-ип, тоже самое

всё  что нужно в первой строке появляется 

(^_^)

DiPrime

5 июня 2012 года, 01:47

И почему мой способ туфта?

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

По второй ссылке в выдаче уже интересно - есть dll для Win7 SP1, в ближайшее время покурю.

(^_^)

EvilLe0

5 июня 2012 года, 02:57

я попробовал твой способ только изза того что у мя были некотороя проблема с подключением я попробовал твой способ, он не решил проблемы, а только их увеличил, а в процессе чтения мне не понравилось, что твой способ ограничивает количество терминалов, этот способ что я использовал был как мин в четыре действия проше, так ещё исправно работающий без ограничений на кол терминалов,  и как известно там нет не какой зашиты, просто отключена такая услуга, хоть майкросовт и не удасужылся вообще её убрать, что от части забавно, а то что твой способ туфта так это изза того что нужно тратить время на его реализацию, так ещё и не на полную работает твой способ и не факт что вообще заработает, по скоку у мя он не прокатил, так что судя по поговорке "простота мать таланта", способ твой туфта(без обид)

(^_^)

DiPrime

6 июня 2012 года, 08:28

Простоту тоже кто-то создаёт :):) Этим способом прекрасным образом работает один 1С сервачёк, который держит около 12 терминальных сессий. Единственное, что пришлось сделать - огородить его от обновления до SP1.

Ладно, без обид, так без обид, спорить больше не буду, мнение есть мнение :):)

+3 ответа
+7 ответов
β-версия

 

Что получается:    изменить 
Подписаться на комментарии к записи

Получать уведомления о всех ответах в этом обсуждении.

 
Отписаться от комментарев к записи

Получать уведомления только о тех ответах в этом обсуждении, которые адресованы лично вам.

 
К сожалению, комментарий не удалось отправить. Попробуйте ещё раз.я в курсе