Удалённый рабочий стол в Windows XP. Как создать несколько одновременных подключений

Подключение к удалённому рабочему столу

Подключение к удалённому рабочему столу

В Windows XP Professional и Windows XP Media Center Edition есть сервис “Подключение к удалённому рабочему столу” (Remote Desktop Connection), с помощью которого можно удалённо подключаться с одного компьютера к другому. Но есть одно ограничение — на компьютере с Windows XP можно одновременно работать  только  одному пользователю.

Как только вы пытаетесь подключиться к компьютеру через удалённый рабочий стол вы отключаете того пользователя, который работает за этим компьютером в данный момент. Разработчики Windows XP отключили возможность одновременной работы нескольких пользователей, но сохранили эту возможность в “Службе терминалов” Windows 2000, Server 2003 и Server 2008.

Существует хак, который позволяет разблокировать это ограничение и включить поддержку нескольких одновременных подключений к рабочему столу в Windows XP Professional и Media Center Edition. Для этого понадобится пропатченный файл termserv.dll или старая версия этого файла — 5.1.2600.2055.Тогда у вас появится возможность подключения неограниченного количества пользователей через удалённый рабочий стол. Итак, как это сделать:

  1. Скачайте копию  пропатченного файла termsrv.dll (ZIP архив) в котором деактивировано ограничение на одновременное подключение нескольких пользователей к удалённому рабочему столу.
    для Windows XP SP3: termsrv.dll (version 5.1.2600.5512)
    Для тех, кому интересно то в этом файле просто заменены биты:

    00022A17: 74 75
    00022A69: 7F 90
    00022A6A: 16 90
  2. Защита файлов Windows

    Защита файлов Windows

    Перезагрузите компьютер, загрузив его в безопасном режиме нажимая F8 во время загрузки и выбрав в меню “Безопасный режим”. Этот шаг необходим если у вас в данный момент запущена служба терминалов или служба удалённого рабочего стола. А также если сработала система защиты файлов, которая может восстановить оригинальный файл termsrv.dll.

  3. Перейдите в директорию %windir%\System32 (%windir% — C:\Windows) и сделайте резервную копию или переименуйте файл termsrv.dll.
  4. Переименуйте или удалите файл termserv.dll в папке %windir%\System32\dllcache.
  5. Скопируйте загруженный файл termsrv.dll в %windir%\System32, %windir%\ServicePackFiles\i386 (если эта папка существует) и в %windir%\System32\dllcache
  6. Затем загрузите и запустите файл ts_multiple_sessions.bat, чтобы добавить в реестр необходимые значения. Вы можете их добавить вручную:
    [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
  7. Нажмите Пуск -> Выполнить и наберите gpedit.msc, нажмите Enter для открытия редактора групповой политики.
  8. Перейдите в Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Служба терминалов.
  9. Включите Ограничение количества подключений и установите количество подключений равное 3 или более. Эта настройка позволит подключаться более чем одному пользователю  и не завершать сеанс локального пользователя.

    Компоненты Windows - Служба терминалов

    Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Служба терминалов

  10. Убедитесь, что Удалённый рабочий стол включен во вкладке “Удалённые сеансы” окна “Свойства Системы“, выбрав пункт Разрешить удалённый доступ к этому компьютеру“.

    Свойства системы - удалённые сеансы

    Свойства системы - удалённые сеансы

  11. Включите Быстрое переключение пользователей в Панель управления -> Учётные записи -> Изменить способ входа в систему
  12. Перезагрузите компьютер.

Обратите внимание, если вы не можете переместить или перезаписать файл termserv.dll и при этом вы получаете ошибку, что вам отказано в доступе или файл в данный момент используется другой программой, то выключите “Службу терминалов” в “Службах” в панели управления “Настройки управления”. Также нужно иметь в виду, что для каждого нового подключения к удаленному компьютеру нужно иметь свою учётную запись со своим именем и паролем.

Если компьютер с Windows XP подключён к домену локальной сети, то Windows будет сбрасывать значение ключа реестра “AllowMultipleTSSessions” в “0″ каждый раз когда компьютер перезагружается. Для того чтобы была возможность создания нескольких сеансов подключения к удаленному рабочему столу в среде домена Active Directory (AD), значение для “AllowMultipleTSSessions” должно быть установлено в “1″ при каждой загрузке системы. Для того чтобы изменить это значение просто перезапускайте файл ts_multiple_sessions.bat каждый раз когда компьютер загружается. Также можно разместить файл ts_multiple_sessions.bat в папке C:\Documents and Settings\All Users\Start Menu\Programs\Startup, при этом он будет автоматически запускаться как только в систему войдёт пользователь  с правами администратора. Другим решением является установка дополнительной службы или установка ключа в ветке реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

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

Ещё одна проблема возникает тогда, когда пользователь закрывает удалённое подключение вместо того, чтобы завершить сеанс и когда он или она пытаются снова зайти, то возникает ошибка TCP/IP с событием ID 4226. Для решения этой проблемы, загрузите и установите патч Windows XP TCP/IP для снятия ограничений  на количество подключений и установите ограничение количества подключений хотя бы 50.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>