Expert Coders
пытаюсь подключиться с помощью remote desktop connection, при этом система пишет мне сообщение, что другой работающий пользователь будет отключен.
Вопрос: можно ли как-то настроить систему для одновременной работы нескольких пользователей через удаленный рабочий стол?
Читайте также:
14 thoughts on “ Windows XP SP3 Удаленный рабочий стол для нескольких пользователей одновременно (патчим termsrv.dll) ”
Для того чтобы позволить нескольким пользователям работать одновременно по RDP, необходимо соответствующим образом пропатчить файл termsrv.dll – чтобы убрать ограничение Microsoft, наложенное на Windows XP. Перед тем как применять данный патч, убедитесь, что ваши действия не противоречат законодательству и вашему лицензионному соглашению.
Итак, далее предлагается пошаговая инструкция, как сделать Remote Desktop для нескольких пользователей одновременно:
1) скачать пропатченный файл termsrv.dll для соответствующей версии Windows XP
termsrv_patch.zip (в архиве вы найдете termsrv.dll для следующих версий – Windows XP SP2 5.1.2600.2180 и Windows XP SP3 5.1.2600.5512)
2) если у вас включена защита системных файлов (System File Protection), то пропатченный файл termsrv.dll необходимо перезаписывать в безопасном режиме (Save Mode). Для этого перезагрузите компьютер, при загрузке нажмите F8, выберите безопасный режим.
3) переименуйте оригинальный файл termsrv.dll, который находится в директории C:\Windows\System32\, например так – termsrv_orig.dll
4) скопируйте пропатченный файл termsrv.dll (который вы скачали) в следующие директории
C:\Windows\System32\
C:\Windows\ServicePackFiles\i386\ (если директория существует)
C:\Windows\System32\dllcache\ (если директория существует)
5) пропатчите ключи реестра, запустив файл ts_multiple_sessions.bat, который находится в скачанном архиве. Можете сделать то же самое вручную с помощью regedit.exe:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Licensing Core]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
“AllowMultipleTSSessions”=dword:00000001
6) Start -> Run -> gpedit.msc -> Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Limit Number of Connections
измените значение Limit Number of Connections на необходимое количество одновременных подключений.
7) убедитесь что в свойствах системы (System Properties -> вкладка Remote) поставлена галочка Allow users to connect remotely to this computer (Разрешить пользователям удаллено подключаться к этому компьютеру)
8) убедитесь что включена опция Fast User Switching (Control Panel -> User Accounts -> Change the way users log on or off)
9) перезагрузите компьютер
Если вы все выполнили правильно, то теперь у вас должен работать удаленный рабочий стол одновременно для нескольких пользователей.
В том случае, если после замены файла termsrv.dll ваш компьютер перестанет загружаться, то удалите пропатченный файл termsrv.dll из папки \Windows\System32 , и скопируйте обратно оригинальный termsrv.dll
—
Ограничения: данный метод не работает, если компьютер зарегистрирован в домене.
Enable Multiple Concurrent Remote Desktop Connections or Sessions in Windows XP
Если вы не доверяете пропатченным файлам в архиве – можете сами изменить следующие байты вручную с помощью hex-редактора (например, winHex)
termsrv.dll (SP2 5.1.2600.2180) 295,424 bytes
Offsets: hexadec.
128BB: 75 -> 74
217D3: 8B -> 33
217D4: C7 -> C0
2192D: 8B -> 33
2192E: C7 -> C0
225B7: 54 -> 20
termsrv.dll (SP3 5.1.2600.5512) 295,424 bytes
Offsets: hexadec.
22A17: 74 -> 75
22A69: 7F -> 90
22A6A: 16 -> 90
Работает даже если компьютер зарегистрирован в домене. Правда по RDP вход только для локальных пользователей, если применить настройки согласно статье http://www.remkoweijnen.nl/blog/2011/01/30/using-fast-user-switching-on-domain-xp-computers
и проверить настройки Start -> Run -> gpedit.msc -> Computer Configuration -> Administrative Templates ->System ->Logon ->Always use classic logon, значение Always use classic logon должно быть установлено в Not configured.
Вариант рабочий! Спасибо.
У меня глупый вопрос: за что тогда отвечают байты
00000148: BF
Несколько rdp сессий в windows xp sp3
copy c:\Windows\System32\termsrv.dll termsrv.dll_old
Затем смотрим вашу версию. Правый клик на файле c:\Windows\System32\termsrv.dll и выберем свойства.
Скачиваем измененный файл соответствующий вашей версии
В первой колонке значение, которое должно быть, во второй оригинальное.
Windows 7 SP1 64bit:
173C0: B8 8B
173C1: 00 87
173C2: 01 38
173C3: 00 06
173C5: 90 00
173C6: 89 39
173C8: 38 3C
173CC: 90 0F
173CD: 90 84
173CE: 90 EB
173CF: 90 C2
173D0: 90 00
173D1: 90 00
176FA: 00 01
5AD7E: EB 74
строчку
8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
на
B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90
строчку
39 81 3C 06 00 00 0F 84 9E 31 05 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
строчку
39 81 3C 06 00 00 0F 84 D3 1E 02 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
После замены сохраняете изменения.
Далее останавливаете службу удаленного рабочего стола
Заменяем файл termsrv.dll на скаченный или измененный.
Еще нужно изменить значение ключа в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser на 0!
И снова запускаем службу!
Подключаемся и радуемся! Теперь локального пользователя не выкидывает из системы!
Для Windows XP
1) Редактируем файл
termsrv.dll (SP2 5.1.2600.2180) 295,424 bytes
128BB: 75 -> 74
217D3: 8B -> 33
217D4: C7 -> C0
2192D: 8B -> 33
2192E: C7 -> C0
225B7: 54 -> 20
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Licensing Core]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
“AllowMultipleTSSessions”=dword:00000001
Моя внешняя память
Профессиональная и Максимальная версии Windows 7 поставляются с функцией удаленного рабочего стола (RDP) , которая позволяет получить доступ к вашей машине удаленно, находясь вдали от дома или офиса. К сожалению, по умолчанию, она ограничена одной сессией одного пользователя. Это означает, что если кто-то удаленно подключается к вашему компьютеру, а кто-то уже находится в своей сессии, то он будет автоматически отключен, даже если у этого пользователя права администратора.
Это не техническое ограничение, а лицензионное. Дело в том, что удаленный рабочий стол в серверных версиях Windows, по умолчанию поддерживает два одновременных подключения, для устранения неполадок и управлением компьютером. Другие пользователи могут подключаться одновременно, до тех пор, пока у вас есть необходимые лицензии клиентского доступа для данного сервера и машина может с этим справиться, т.е. имеет достаточно ресурсов.
Для того, что бы позволить нескольким пользователям работать с одним компьютером одновременно, необходимо снять лицензионное ограничение. Для этого команда DeepXW создала универсальный патч. Патч вносит изменения в файл termsrv.dll, который расположен в %SystemRoot%\System32\.
Патч поддерживает: Windows XP SP2 SP3; Vista SP1 SP2; Windows 7 [32bit(x86)/64bit(x64)], Windows Server 2008 SP1/SP2
Скачайте и распакуйте архив, затем запустите соответствующий файл с правами администратора (кликните правой кнопкой мыши на исполняемом файле, выберите “Запуск от имени администратора”). Для 32-разрядных систем используется UniversalTermsrvPatch-x86.exe, для 64-разрядных используется UniversalTermsrvPatch-x64.exe.
Появится окно, как на картинке выше, где можно патчить termsrv.dll для снятия ограничения сеансов удаленного рабочего стола, или восстановить исходный файл в любое время (путь к резервному файлу: \Windows\System32\termsrv.dll.backup). После применения патча, перезагрузите компьютер и можно приступать к работе .
Чтобы проверить снятие ограничения, оставьте открытой сессию одного пользователя на компьютере, где вы применили патч, а с другой машины попробуйте подключиться к компьютеру удаленно от другого пользователя. Если все прошло успешно, то оба пользователя будут активны в системе, каждый в своей сессии.







