Если вы часто получаете доступ к удаленному компьютеру Windows и выходите из системы, потому что ваш коллега вошел в систему и не знал, что вы также вошли в систему, то эта статья для вас.
По умолчанию операционная система Windows разрешает одновременно только одно подключение RDP. Если другое подключение было выполнено с другого компьютера в сети, независимо от того, используют ли они другую учетную запись пользователя для входа в систему, вы автоматически выйдете из системы и получите один из следующих запросов:
“Вы были отключены, потому что к удаленному компьютеру было установлено другое подключение”
Диалоговое окно с запросом на отключение с использованием той же учетной записи пользователя. Вы хотите разрешить подключаться к этому компьютеру? Нажмите «ОК», чтобы немедленно отключить сеанс, или «Отмена», чтобы оставаться на связи. Никакие действия не отключат ваш сеанс в течение 30 секунд.
Диалоговое окно отключения при использовании другой учетной записи пользователя
В любом случае, обоим не будет позволено одновременно войти в систему на удаленном ПК.
В этой статье мы рассмотрим проблему одновременных RDP-подключений и то, как разрешить клиентскому ПК с Windows (Windows 10 или 11) иметь 2 или более RDP-подключений одновременно. Это повысит производительность вашей команды и сэкономит драгоценное время.
Прежде чем мы начнем, мы хотели бы отметить несколько вещей.
Критические соображения
Во-первых, Microsoft хочет, чтобы вы использовали лицензию Windows Server вместо клиентской лицензии Windows, если вы хотите разрешить несколько подключений RDP. Это наводит нас на мысль, что ОС Windows технически не лишена возможности обрабатывать несколько подключений RDP. Технически все сводится к доступным системным ресурсам.
Типичное соединение RDP требует только 150-200 МБ ОЗУ на сеанс RDP. Если в вашей системе есть доступная оперативная память, вы можете разрешить несколько удаленных сеансов, используя один из следующих методов, указанных ниже.
Во-вторых, мы столкнулись с несколькими веб-сайтами, которые предлагают способ разрешить несколько подключений RDP с помощью редактора групповой политики путем перенастройки «Ограничить пользователя служб удаленных рабочих столов одним сеансом служб удаленных рабочих столов” политика. Обратите внимание, что этот метод работает только на серверах Windows.
Следовательно, не тратьте время на редактирование групповой политики, поскольку мы уже проверили ее для вас.
В-третьих, только выпуски Windows Professional и Enterprise поддерживают соединения RDP. Если у вас домашняя версия Windows, узнайте, как включить RDP или используйте первый метод (RDPWrapper), чтобы разрешить многопользовательское удаленное подключение.
При этом не существует собственного простого метода, позволяющего разрешить несколько RDP-соединений на клиентском ПК с Windows. Вам нужно либо использовать стороннюю утилиту, либо манипулировать критическими файлами Windows, чтобы включить многопользовательское RDP-соединение. Поэтому рекомендуется создать точку восстановления системы, прежде чем использовать любой из двух методов.
Включить несколько пользовательских подключений RDP с помощью RDPWrap
RDPWrap — это проект с открытым исходным кодом, доступный на GitHub. RDPWrap обеспечивает поддержку многочисленных одновременных сеансов RDP, а также хостов RDP в ранее недоступных версиях Windows, таких как Home.
Следуйте инструкциям ниже именно так как указано, чтобы разрешить несколько подключений RDP на компьютере.
Примечание: Все шаги, указанные ниже, должны быть выполнены на удаленном (целевом) компьютере.
- Загрузите «RDPWInst.zip» с Гитхаб.
Примечание: Если вы используете Google Chrome для загрузки файла, он будет помечен как вредоносный и заблокирован для загрузки. Узнайте, как запретить Chrome блокировать загрузки.
- Загрузите «RDPWInst.zip» с Гитхаб.
- Извлеките содержимое заархивированного файла.
Извлечь RDPWrapЩелкните правой кнопкой мыши заархивированный файл и выберите «Извлечь все» из контекстного меню. Затем нажмите «Извлекать» в мастере извлечения, чтобы завершить извлечение.
- Извлеките содержимое заархивированного файла.
- Запустите «install.exe» с правами администратора.
Запустите «install.exe» от имени администратораЩелкните правой кнопкой мыши «установить.exe», а затем нажмите «Запустить от имени администратора» из контекстного меню.
Теперь RDPWrap начнет установку в командном окне.
- Запустите «install.exe» с правами администратора.
- Нажмите любую клавишу, чтобы продолжить установку.
Нажмите любую клавишу, чтобы завершить установку
- Нажмите любую клавишу, чтобы продолжить установку.
- Теперь запустите файл «RDPConf.exe».
Запустите RDPConf.exeОткроется окно конфигурации RDP Wrapper.
- Теперь запустите файл «RDPConf.exe».
- Убедитесь, что все элементы в Диагностика раздел зеленый.
Убедитесь, что все элементы зеленыеОбратите внимание, что в нем говорится (Не поддерживается) перед «Состоянием слушателя» справа. Это потому, что версия Windows не будет поддерживаться. Чтобы RDPWrap поддерживал вашу версию ОС, вы должны заменить файл «rdpwrap.ini», выполнив следующие несколько шагов, приведенных ниже, которые находятся по адресу «C:Program FilesRDP-оболочка».
- Убедитесь, что все элементы в Диагностика раздел зеленый.
- Запустите экземпляр PowerShell с повышенными правами.
- Запустите следующий командлет:Срок службы Stop-Service -Force
Остановить службу RDP из PowerShellЭто временно остановит службу удаленного рабочего стола.
- Запустите следующий командлет:Срок службы Stop-Service -Force
- Теперь запустите следующий командлет, чтобы заменить файл rdpwrap.ini:Invoke-WebRequest -outfile “C:Program FilesRDP Wrapperrdpwrap.ini”
Замените файл rdpwrap.ini
- Теперь запустите следующий командлет, чтобы заменить файл rdpwrap.ini:Invoke-WebRequest -outfile “C:Program FilesRDP Wrapperrdpwrap.ini”
- Перезагрузите компьютер.
- Запустите файл «RDPConf.exe» еще раз, чтобы убедиться, что статус изменился с (Не поддерживается) на (Полностью поддерживается).
RDPWrap полностью поддерживается
- Запустите файл «RDPConf.exe» еще раз, чтобы убедиться, что статус изменился с (Не поддерживается) на (Полностью поддерживается).
Вот и все! Теперь вы должны иметь возможность подключаться к удаленному ПК с несколькими одновременными подключениями с помощью любого инструмента RDP, такого как MSTSC, Microsoft RDP, rdcman и т. д. Однако, вы можете войти в систему, только используя разные локальные учетные записи пользователей.
Если вы войдете в систему с той же учетной записью пользователя, RDC-соединение, использующее предыдущую учетную запись, будет автоматически разорвано.
Включите несколько пользовательских подключений RDP, изменив файлTermsrv.dll
Если вы не хотите использовать RDPWrap, вы можете изменить файл Terminalsrv.dll, чтобы разрешить несколько подключений RDP одновременно. Это библиотека, которую протокол удаленного подключения использует для установления соединения.C:\Windows\System32».
Напоминаем вам, что перед продолжением необходимо создать точку восстановления системы, чтобы вы могли вернуть свои настройки, если что-то пойдет не так, как планировалось.
В качестве альтернативы мы также указали шаги по резервному копированию только Terminalsrv.dll в приведенных ниже шагах, чтобы при необходимости ее можно было заменить.
Выполните следующие шаги, чтобы изменить библиотеку Terminalsrv.dll и разрешить несколько подключений RDP:
Примечание: Все шаги, указанные ниже, должны быть выполнены на удаленном (целевом) компьютере.
- Запустите командную строку с повышенными привилегиями.
- Сделайте копию файла Terminalsrv.dll, запустив этот командлет:скопировать c:WindowsSystem32termsrv.dll termsrv.dll_backup
Резервное копирование msrv.dll
- Сделайте копию файла Terminalsrv.dll, запустив этот командлет:скопировать c:WindowsSystem32termsrv.dll termsrv.dll_backup
- Станьте владельцем исходного файла, выполнив следующую команду:взять /F c:WindowsSystem32termsrv.dll /A
Получите права собственности на Terminalsrv.dll
- Станьте владельцем исходного файла, выполнив следующую команду:взять /F c:WindowsSystem32termsrv.dll /A
- Предоставьте локальной группе администраторов полный доступ к библиотеке, запустив этот командлет:icacls c:WindowsSystem32termsrv.dll /grant Администраторы: F
Предоставьте группе администраторов полный доступ к Terminalsrv.dll.
- Предоставьте локальной группе администраторов полный доступ к библиотеке, запустив этот командлет:icacls c:WindowsSystem32termsrv.dll /grant Администраторы: F
- Теперь остановите службу удаленного рабочего стола, запустив этот командлет:Чистая остановка TermService
Также введите «Д” при запросе подтверждения.
Остановить службу RDP
- Теперь остановите службу удаленного рабочего стола, запустив этот командлет:Чистая остановка TermService
- Определите и запишите версию своей ОС, введя «winver» в поле «Выполнить команду».
Найдите свою версию ОСЭто понадобится позже.
- Определите и запишите версию своей ОС, введя «winver» в поле «Выполнить команду».
- Теперь откройте файл termsrv.dll (C:WindowsSystem32termsrv.dll) с помощью шестнадцатеричного редактора.Вы можете скачать любой шестнадцатеричный редактор онлайн.
- Найдите следующую строку в соответствии с версией вашей ОС (определенной на шаге 6 выше), указанной в таблице ниже, и замените ее следующей:В8 00 01 00 00 89 81 38 06 00 00 90
Сборка WindowsСтрока для заменыWindows 11 22H239 81 3C 06 00 00 0F 84 75 7A 01 00Windows 11 RTM (21H2 – 22000.258)39 81 3C 06 00 00 0F 84 4F 68 01 00Windows 10 x64 21H239 81 3C 06 00 00 0F 84 БД 61 01 00Windows 10 x64 21H139 81 3C 06 00 00 0F 84 2B 5F 01 00Windows 10 x64 20H239 81 3C 06 00 00 0F 84 21 68 01 00Windows 10 x64 200439 81 3C 06 00 00 0F 84 D9 51 0 1 00Windows 10 x64 190939 81 3C 06 00 00 0F 84 5D 61 01 00Windows 10 x64 190339 81 3C 06 00 00 0F 84 5D 61 01 00Windows 10 x64 180939 81 3C 06 00 00 0F 84 3B 2B 01 00 Windows 10 x64 18038B 99 3 C 06 00 00 8B B9 38 06 00 00 Windows 10 x64 170939 81 3C 06 00 00 0F 84 B1 7D 02 00 Версии Windows и соответствующая шестнадцатеричная строка для замены
Найдите и замените шестнадцатеричные значения в файле «Termsrv.ini»
- Найдите следующую строку в соответствии с версией вашей ОС (определенной на шаге 6 выше), указанной в таблице ниже, и замените ее следующей:В8 00 01 00 00 89 81 38 06 00 00 90
- Внесите изменения и сохраните файл Terminalsrv.dll.
Сохраните измененный файл Termrv.dll.
- Внесите изменения и сохраните файл Terminalsrv.dll.
- Если будет предложено подтверждение или UAC, нажмите Да.
- Закройте шестнадцатеричный редактор.
Теперь вы сможете подключить несколько сеансов RDP к удаленному ПК после изменения файла Terminalsrv.dll.
Если что-то пошло не так, как планировалось, вы можете восстановить исходный файл Terminalsrv.dll, выполнив следующий командлет в командной строке, используя резервную копию, которую мы создали на шаге 2 выше:
скопировать termsrv.dll_backup c:\Windows\System32\termsrv.dll
Возможность иметь несколько подключений RDP одновременно на ПК с Windows может привести к значительному увеличению производительности. Теперь вы и члены вашей команды можете работать на клиентском ПК с Windows одновременно, не дожидаясь друг друга.
Тем не менее, методы, приведенные в этом посте, проверены и проверены, и вы можете выполнять их дословно на своем ПК с Windows, чтобы разрешить одновременные сеансы RDP. Однако, несмотря на то, что методы работают, мы советуем вам создавать резервные копии системы на всякий случай.
Извлечь RDPWrap
Запустите «install.exe» от имени администратора
Нажмите любую клавишу, чтобы завершить установку
Запустите RDPConf.exe
Убедитесь, что все элементы зеленые
Остановить службу RDP из PowerShell
Замените файл rdpwrap.ini
RDPWrap полностью поддерживается
Резервное копирование msrv.dll
Получите права собственности на Terminalsrv.dll
Предоставьте группе администраторов полный доступ к Terminalsrv.dll.
Остановить службу RDP
Найдите свою версию ОС
Найдите и замените шестнадцатеричные значения в файле «Termsrv.ini»
Сохраните измененный файл Termrv.dll.