Windows server 2016 несколько rdp сессий под одним пользователем

Hello everyone,
  • Remove From My Forums
  • Question

  • Hello everyone,

    I am trying to figure out the easiest way to allow more than 2 RDP sessions at a time on my Windows 2016 Server Standard. I have tried using the google to help, but there are so many suggestions and 90% of them result in the original poster disappearing
    so I don’t know the best way to accomplish this. I don’t need anything extravagant setup, I just need more than 2 people to be able to rdp into the server at the same time.

    Any help would be appreciated.

    Thanks,

Answers

  • Hi,

    By default, system supports 2 simultaneously sessions. That means, if you had a user account log on the system locally, then, there is only one user allowed to establish remote desktop connection to the system at same time.

    You can open Task Manager – Users tab, to check current log on user accounts and sessions.

    If you want to allow more than 2 simultaneously sessions, RDS deployment with appropriate RDS CALs installed is necessary.

    For example, if you need more than 2 connections to your Windows Server 2016 from internal device, then, below RDS serve role might be necessary:
    1. RD Connection Broker.
    2. RD Session Host.
    3. RD Licensing server – there is 120-day licensing grace period, appropriate RDS CALs should be purchased and installed before it has expired.

    You can install all server role on single server system and using session-based quick deployment.

    Deploying RDS 2012 Single Server – Session Based deployment:
    https://ryanmangansitblog.com/2013/03/11/deploying-rds-2012-single-server-session-based-deployment/

    Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    Best Regards,
    Eve Wang


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

    • Proposed as answer by

      Monday, June 11, 2018 1:43 AM

    • Marked as answer by
      TP []MVP
      Friday, March 1, 2019 1:36 PM

  • Remove From My Forums
  • Question

  • Hello everyone,

    I am trying to figure out the easiest way to allow more than 2 RDP sessions at a time on my Windows 2016 Server Standard. I have tried using the google to help, but there are so many suggestions and 90% of them result in the original poster disappearing
    so I don’t know the best way to accomplish this. I don’t need anything extravagant setup, I just need more than 2 people to be able to rdp into the server at the same time.

    Any help would be appreciated.

    Thanks,

Answers

  • Hi,

    By default, system supports 2 simultaneously sessions. That means, if you had a user account log on the system locally, then, there is only one user allowed to establish remote desktop connection to the system at same time.

    You can open Task Manager – Users tab, to check current log on user accounts and sessions.

    If you want to allow more than 2 simultaneously sessions, RDS deployment with appropriate RDS CALs installed is necessary.

    For example, if you need more than 2 connections to your Windows Server 2016 from internal device, then, below RDS serve role might be necessary:
    1. RD Connection Broker.
    2. RD Session Host.
    3. RD Licensing server – there is 120-day licensing grace period, appropriate RDS CALs should be purchased and installed before it has expired.

    You can install all server role on single server system and using session-based quick deployment.

    Deploying RDS 2012 Single Server – Session Based deployment:
    https://ryanmangansitblog.com/2013/03/11/deploying-rds-2012-single-server-session-based-deployment/

    Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    Best Regards,
    Eve Wang


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

    • Proposed as answer by

      Monday, June 11, 2018 1:43 AM

    • Marked as answer by
      TP []MVP
      Friday, March 1, 2019 1:36 PM

  • Remove From My Forums
  • Question

  • Hello everyone,

    I am trying to figure out the easiest way to allow more than 2 RDP sessions at a time on my Windows 2016 Server Standard. I have tried using the google to help, but there are so many suggestions and 90% of them result in the original poster disappearing
    so I don’t know the best way to accomplish this. I don’t need anything extravagant setup, I just need more than 2 people to be able to rdp into the server at the same time.

    Any help would be appreciated.

    Thanks,

Answers

  • Hi,

    By default, system supports 2 simultaneously sessions. That means, if you had a user account log on the system locally, then, there is only one user allowed to establish remote desktop connection to the system at same time.

    You can open Task Manager – Users tab, to check current log on user accounts and sessions.

    If you want to allow more than 2 simultaneously sessions, RDS deployment with appropriate RDS CALs installed is necessary.

    For example, if you need more than 2 connections to your Windows Server 2016 from internal device, then, below RDS serve role might be necessary:
    1. RD Connection Broker.
    2. RD Session Host.
    3. RD Licensing server – there is 120-day licensing grace period, appropriate RDS CALs should be purchased and installed before it has expired.

    You can install all server role on single server system and using session-based quick deployment.

    Deploying RDS 2012 Single Server – Session Based deployment:
    https://ryanmangansitblog.com/2013/03/11/deploying-rds-2012-single-server-session-based-deployment/

    Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    Best Regards,
    Eve Wang


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

    • Proposed as answer by

      Monday, June 11, 2018 1:43 AM

    • Marked as answer by
      TP []MVP
      Friday, March 1, 2019 1:36 PM

This guide will explain how to allow multiple sessions in a Windows VPS. A common usage case for this would be to allow a developed application or a remotely accessed support desktop. Additionally, there will be some information on where to purchase the RDS CAL license directly from Microsoft to allow for many users.

It may be best to consider a higher specification VPS or a Dedicated Server if you wish to use more than 3 users per machine, as the overall performance of the VPS will degrade per user.

How to Enable Multiple Remote Desktop (RDP) Sessions

Step 1. Connect to the Windows Server session by RDP.

Step 2. Click The Search button next to the start menu (Windows 2016) or typing into the start menu (Windows Server 2012)

Step 3. Enter in gpedit.msc

Step 4. Once Group Policy Editor had loaded, navigate to Computer Configuration, next Administrative Templates, then Windows Components, Remote Desktop Services, and Remote Desktop Session host.

Step 5. From there, you should see a folder marked as Connections. Click on it.

Step 6. Next right click with your mouse on Limit Number of Connections and click Edit.

Step 7. From there, you can set the number to the limit you wish to have or turn it off.

To access more than two sessions at a time, you will want to purchase an RDS Cal license from a certified provider. You can purchase a Remote Desktop Service Client Access License from Microsoft.

Step 8. Next, click Next Setting until you are at the Restrict Remote Desktop Services users to a single Remote Desktop Services session screen so you can edit this setting.

Step 9. In this window, you can click Disabled to turn off the user restrictions.

Step 10. Finally, reboot the server from your Cloud Control Overview page, and the group policy changes should automatically apply.

Reversing These Changes

The process to reverse the changes is easy. You would follow the same steps above and set the desired Group Policies to Not Configured and select Enabled or Disabled.

Обновлено 16.05.2016

Как настроить несколько сессий rdp с одним логином в Windows Server 2012R2

Всем привет сегодня хочу рассказать о небольшой фишке как можно настроить несколько сессий rdp с одним логином в Windows Server 2012R2. Если честно я не понимаю, для чего это может быть нужно, так как с точки зрения безопасности это не совсем правильно, но если уж есть давайте расскажу. Данная возможно оказывается еще была аж с Windows Server 2003, давненько это было, но там все делалось простановкой одной галки, в Windows Server 2012R2 на пару действий побольше.

Подключение по rdp

Думаю не нужно объяснять, что очень часто на серверной платформе Windows делают сервер терминалов, для совместной работы многих пользователей за ним, и люди подключаются к нему за счет протокола RDP по порту 3389. В Windows 2012R2 за настройку несколько сессий rdp с одним логином отвечает групповая политика. Нажимаем Win+R и вводим gpedit.msc либо на контроллере домена в редакторе групповых политик, но потом не забудьте ее прилинковать к нужному контейнеру.

несколько сессий rdp с одним логином в Windows Server 2012R2

Вам нужно отключить политику

Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовПодключения -> Ограничить пользователей служб удаленных рабочих столов одним сеансом служб удаленных рабочих столов

Для англоязычной версии

Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostConnections -> Restrict Remote Desktop Services users to a single remote session

Как настроить несколько сессий rdp с одним логином в Windows Server 2012R2-01

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

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

Как настроить несколько сессий rdp с одним логином в Windows Server 2012R2-02

Все закрываем редактор и радуемся жизни.

Материал сайта pyatilistnik.org

Май 16, 2016 11:24

Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно разрешить RDP доступ и подключиться к компьютеру с помощью любого клиента. Но есть ограничение на количество одновременных RDP сессии – допускается одновременная работа только одного удаленного пользователя. Если вы попробуете открыть вторую RDP сессию, появится предупреждение с запросом отключить сеанс первого пользователя.

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

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

В английской версии предупреждение такое:

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Во всех десктопных версиях Windows (включая Win 10 и 11) есть ряд ограничений на использование службы удаленного рабочего стола

  1. Вы можете удаленно подключаться по RDP только к старшим редакциям Windows (Professional, Enterprise). В домашних редакциях (Home/Single Language) RDP доступ заблокирован;
  2. Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активное подключение;
  3. Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по RDP, его локальный сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь входит через консоль Windows.

Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей. Логика Microsoft проста: если вам нужен терминальный сервер — купите лицензию Windows Server, лицензии RDS CAL, установите и настройте роль Remote Desktop Session Host (RDSH).

Технически любая редакция Windows при наличии достаточного количества оперативной памяти может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем на одну RDP сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти. Т.е. максимальное количество одновременных RDP сессий в теории ограничивается только ресурсами компьютера.

Мы рассмотрим два способа убрать ограничение на количество одновременных RDP подключений к Windows 10 и 11: с помощью приложения RDP Wrapper и с помощью модификации системного файла termsrv.dll.

Содержание:

  • RDP Wrapper: разрешить несколько RDP сеансов в Windows
  • Не работает RDP Wrapper в Windows 10
  • Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
  • Патчинг файл termsrv.dll с помощью PowerShell скрипта

Примечание. Модификации системы, описанные в этой статье, считаются нарушением лицензионного соглашения Windows, и вы можете выполнять их на свой страх и риск.

RDP Wrapper: разрешить несколько RDP сеансов в Windows

OpenSource проект RDP Wrapper Library позволяет включить конкурентные RDP сессии в Windows 10 без замены системного файла termsrv.dll. Эта программа работает в качестве прослойки между менеджером управления службами (SCM — Service Control Manager) и службой терминалов (Remote Desktop Services). RDPWrap позволяет включить не только поддержку нескольких одновременных RDP сессии, но и реализовать RDP сервер на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.

Таким образом, RDPWrap будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.

Важно. Перед установкой RDP Wrapper важно убедится, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. Иначе RDP Wrapper может работать не стабильно, или вообще не запускаться.

Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Утилита не развивается с 2017 года, но ее можно использовать на всех билдах Windows 10 и даже в Windows 11.

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe —программа установки/удаления RDP Wrapper Library;
  • RDPConf.exe — утилита настройки RDP Wrapper;
  • RDPCheck.exe — Local RDP Checker — утилита для проверки RDP доступа;
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper.

Архив RDPWrap-v1.6.2.zip

Чтобы установить RDPWrap, запустите файл
install.bat
с правами администратора.

Установка rdpwrapper в windows 10

После окончания установки запустите RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет.

rdp-wrapper: красная надпись не поддерживается [not supported]

После окончания установки запустите RDPConfig.exe. Скорее всего сразу после установки утилита покажет, что RDP wrapper запущен (Installed, Running, Listening), но не работает. Обратите внимание на красную надпись. Она сообщает, что данная версий Windows 10 (ver. 10.0.19041.1320) не поддерживается ([not supported]).

Дело в том, что под каждую версию Windows 10 должно быть описание в конфигурационном файле rdpwrap.ini. В вашем файле конфигурации просто нет настроек для вашего билда Windows 10.

Актуальную версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

Вручную скопируйте содержимое данной страницы в файл «C:Program FilesRDP Wrapperrdpwrap.ini». Или скачайте файл с помощью PowerShell командлета Invoke-WebRequest (предварительно нужно остановить службу Remote Desktop):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:Program FilesRDP Wrapperrdpwrap.ini"

обновить файл rdpwrap.ini вручную

Перезагрузите компьютер, запустите утилиту RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет, и появилось сообщение [Fully supported]. На скриншоте ниже показано, что RDP Wrapper с данным конфигом прекрасно работает и в Windows 11.

запуск rdpwrapper в windows 11

Осталось перезагрузить компьютер. Попробуйте подключиться к своим компьютерам несколькими RDP сессиями (воспользуйтесь любым RDP клиентом: mstsc.exe, rdcman и т.д.). Все получилось (можно даже использовать сохранённые RDP пароли)! Теперь ваша Windows 10 позволяет одновременно подключаться по RDP сразу двум (и более) удаленным пользователям.

Поддержка нескольких RDP сесиий в Windows 10

Утилита RDPWrap поддерживается во редакциях Windows, таким образом из любой клиентской версии Windows можно сделать сервер терминалов.

Также из интересных возможностей RDP Wrapper можно выделить:

  • Enable Remote Desktop — включить RDP доступ
  • Опция Hide users onlogon screen позволяет скрыть список пользователей на экране приветствия;
  • При отключении опции Single sessionper user — будут разрешены несколько одновременных RDP сессий под одной учетной записью (устанавливается параметр реестра fSingleSessionPerUser = 0 в ветке HKLMSYSTEM CurrentControlSetControlTerminal ServerfSingleSessionPerUser).
  • RDP Port — можно изменить номера порта удаленного рабочего стола со стандартного TCP 3389 на любой другой;
  • В секции Session Shadowing Mode вы можете настроить режим теневого подключения к рабочему столу пользователей Windows 10.

Не работает RDP Wrapper в Windows 10

В некоторых случая утилита RDP Wrapper не работает как ожидается, и вы не можете использовать несколько RDP подключений.

Если утилита в окне статуса показывала [not supported], значит в файле rdpwrap.ini отсутствует конфигурация для вашей версии Windows. Обновите файл rdpwrap.ini как описано выше.

Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти в нем описание для вашей версии Windows. Как понять, есть ли поддержка вашей версии Windows в конфиг фафле rdpwrapper?

На скриншоте ниже показано, что для моей версии Windows 10 (10.0.19041.1320) есть две секции с описаниями:

[10.0.19041.1320]
…..
[10.0.19041.1320-SLInit]
…..

rdpwrapper - добавить описание в файл rdpwrap.ini для вашей редакции windows

Если для вашей версии Windows нет секции в конфигурационном файле, попробуйте поискать в сети строки rdpwrap.ini для вашего билда. Добавьте найденные строки в самый конец файл.

Также при проблемах с RDPWrap вы можете открыть ветку в https://github.com/stascorp/rdpwrap/issues. Здесь же можно найти актуальные файлы rdpwrap.ini до момента обновления в официальном репозитории.

Если после установки обновлений безопасности или после апгрейда билда Windows 10, RDP Wrapper не работает, проверьте, возможно в секции Diagnostics присутствует надпись Listener state: Not listening.

Listener state: Not listening

Попробуйте обновить ini файл, и затем переустановить службу:

rdpwinst.exe -u
rdpwinst.exe -i

Бывает, что при попытке второго RDP подключения под другим пользователем у вас появляется надпись:

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

Число разрешенных подключений к этому компьютеру ограничено и все подключений уже используются.

The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.

The number of connections to this computer is limited and all connections are in use right now.

В этом случае нужно с помощью редактора групповых политики gpedit.msc в секции Конфигурация компьютера –> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения включить политику “Ограничить количество подключений” и изменить ее значение на 999999 (Computer Configuration -> Administrative Templates -> Windows Components ->Remote Desktop Services ->Remote Desktop Session Host -> Connections-> Limit number of connections).

групповая политика Ограничить количество rdp подключений

Перезагрузите компьютер для обновления GPO и применения настроек .

Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows 10 без использования rdpwraper, можно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:WindowsSystem32.

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

copy c:WindowsSystem32termsrv.dll termsrv.dll_backup

Затем нужно стать владельцем файла. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

takeown /F c:WindowsSystem32termsrv.dll /A

Должно появится сообщение: «SUCCESS: The file (or folder): «c:WindowsSystem32termsrv.dll» now owned by the administrators group».

Теперь с помощью icacls.exe предоставьте группе локальных администраторов полные права на файл termsrv.dll (Full Control):

icacls c:WindowsSystem32termsrv.dll /grant Administrators:F
(или
Администраторы
в русской версии Windows). Должно появится сообщение: «processed file: c:WindowsSystem32termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

termsrv.dll стать владельцем файла termsrv.dll с помощью takeown

Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Вместе с ней останавливается служба Remote Desktop Services UserMode Port Redirector.

Служба Remote Desktop service

Прежде чем идти дальше, вам нужно узнать вашу версию (билд) Windows 10. Проще всего это сделать с помощью следующей команды PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

В моем случае установлена Windows 10 билд 21H1.

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Версия Windows Найти строку Заменить на
Windows 11 RTM ( 21H2 22000.258) 39 81 3C 06 00 00 0F 84 4F 68 01 00  

B8 00 01 00 00 89 81 38 06 00 00 90

Windows 10 x64 21H2 39 81 3C 06 00 00 0F 84 DB 61 01 00
Windows 10 x64 21H1 39 81 3C 06 00 00 0F 84 2B 5F 01 00
Windows 10 x64 20H2 39 81 3C 06 00 00 0F 84 21 68 01 00
Windows 10 x64 2004 39 81 3C 06 00 00 0F 84 D9 51 01 00
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00
Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00
Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Редактор Tiny Hexer не может редактировать файл termsvr.dll напрямую из папки system32. Скопируйте его на рабочий стол, а после модификации замените исходный файл.

Например, для самой редакции Windows 10 x64 21H1 19043.1320 (версия файла termsrv.dll — 10.0.19041.1320) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

39 81 3C 06 00 00 0F 84 2B 5F 01 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

редактировать termsrv.dll в hex редакторечтобы разрешить множественные rdp подключения

Сохраните файл и запустите службу TermService.
Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

copy termsrv.dll_backup c:WindowsSystem32termsrv.dll

Патчинг файл termsrv.dll с помощью PowerShell скрипта

Чтобы не редактировать файл termsrv.dll вручную с помощью HEX редактора, вы можете использовать следующий PowerShell скрипт для автоматического патчинга файла. Данный скрипт написан для версии Windows PowerShell, и не работает на PowerShell Core. Скрипт универсальный и может использоваться для внесения изменений в файл termsrv.dll на всех версиях Windows 10 и Windows 11.

# Остановить службу, сделать копию файл и изменить разрешения
Stop-Service UmRdpService -Force
Stop-Service TermService -Force
$termsrv_dll_acl = Get-Acl c:windowssystem32termsrv.dll
Copy-Item c:windowssystem32termsrv.dll c:windowssystem32termsrv.dll.copy
takeown /f c:windowssystem32termsrv.dll
$new_termsrv_dll_owner = (Get-Acl c:windowssystem32termsrv.dll).owner
cmd /c "icacls c:windowssystem32termsrv.dll /Grant $($new_termsrv_dll_owner):F /C"
# поиск шаблона в файле termsrv.dll
$dll_as_bytes = Get-Content c:windowssystem32termsrv.dll -Raw -Encoding byte
$dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join ' '
$patternregex = ([regex]'39 81 3C 06 00 00(sSS){6}')
$patch = 'B8 00 01 00 00 89 81 38 06 00 00 90'
$checkPattern=Select-String -Pattern $patternregex -InputObject $dll_as_text
If ($checkPattern -ne $null) {
$dll_as_text_replaced = $dll_as_text -replace $patternregex, $patch
}
Elseif (Select-String -Pattern $patch -InputObject $dll_as_text) {
Write-Output 'The termsrv.dll file is already patch, exiting'
Exit
}
else {
Write-Output "Pattern not found"
}
# модификация файла termsrv.dll
[byte[]] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace '^', '0x'
Set-Content c:windowssystem32termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced
# Сравним два файла
fc.exe /b c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll
# замена оригинального файла
Copy-Item c:windowssystem32termsrv.dll.patched c:windowssystem32termsrv.dll -Force
Set-Acl c:windowssystem32termsrv.dll $termsrv_dll_acl
Start-Service UmRdpService
Start-Service TermService

Полный код скрипта доступен в моем GitHub репозитарии по ссылке https://github.com/winadm/posh/blob/master/Desktop/RDP_patch.ps1

Чтобы выполнить скрипт, скачайте его на свой компьютер. Измените настройки политики запуска скриптов PowerShell:

Set-ExecutionPolicy Bypass -Scope Process -Force

Запустите скрипт:

C:usersrootdesktoprdp_patch.ps1

powershell патч для автоматической модификации файла rdp termsrv.dll

Скрипт можно запускать после установки обновлений Windows, чтобы немедленно внести изменения в файл termsrv.dll (защищает вас от ручной правки файла после каждой установки обновлений). Скрипт подходит для всех версий Windows 10 старше 1809 и для Windows 11.

Преимущество способа включения нескольких RDP сессий в Windows 10 путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл при каждом обновлении билда Windows 10 (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений). А если вы используете RDPWrapper, то после установки обновлений Windows вам придётся обновлять файл rdpwrap.ini.

В этой статье вы рассмотрели, как снять ограничение на количество одновременных RDP подключений пользователей, и запустить бесплатный терминального сервера на клиентской Windows 10 или 11.

Обновлено Обновлено: 02.11.2017
Опубликовано Опубликовано: 13.09.2016

Удаленный рабочий стол применяется для дистанционного администрирования системы. Для его настройки нужно сделать, буквально, несколько шагов.

Как включить
Настройка доступа
Ограничения
Доступ из Интернет

Включение

1. Открываем сведения о системе. В Windows Server 2012 R2 / 2016 или 10 кликаем правой кнопкой мыши по Пуск и выбираем Система.

Открываем свойства системы Windows

В Windows Server 2012 / 8 и ниже открываем проводник или меню Пуск. Кликаем правой кнопкой по Компьютер и выбираем Свойства.

Открываем свойства системы Windows

2. Настраиваем удаленный рабочий стол. В меню слева кликаем по Настройка удаленного доступа.

Открываем настройки удаленного доступа

В открывшемся окне ставим переключатель в положение Разрешить удаленные подключения к этому компьютеру.

Разрешаем удаленное подключение к Windows

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

Предоставление доступа

Очень важно, чтобы у пользователя был установлен пароль. Без него зайти в систему с использованием RDP будет невозможно — это программное ограничение. Поэтому всем учетным записям ставим пароли.

У пользователей с правами администратора права на использование удаленного стола есть по умолчанию. Чтобы обычная учетная запись могла использоваться для удаленного входа в систему, добавьте ее в группу Пользователи удаленного рабочего стола. Для этого открываем консоль управления компьютером (команда compmgmt.msc) — переходим по разделам Служебные программыЛокальные пользователи и группыГруппы и кликаем дважды по Пользователи удаленного рабочего стола:

Добавление пользователя в группу для подключения к удаленному рабочему столу

В открывшемся окне добавляем необходимых пользователей.

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

Ограничение по количеству пользователей

По умолчанию, в серверных операционных системах Windows разрешено подключение для одновременно двух пользователей. Чтобы несколько пользователей (больше 2-х) могли использовать удаленный стол, необходима установка роли удаленных рабочих столов (терминального сервера) и активации терминальных лицензий — подробнее, читайте в инструкции Установка и настройка терминального сервера на Windows Server.

В пользовательских системах (Windows 10 / 8 / 7) разрешено подключение только одному пользователю. Это лицензионное ограничение. В сети Интернет можно найти патчи для его снятия и предоставления возможности подключаться удаленным рабочим столом для нескольких пользователей. Однако, это нарушение лицензионного соглашения.

Доступ через глобальную сеть (Интернет)

Для возможности подключения по RDP из вне необходим статический внешний IP-адрес. Его можно заказать у Интернет провайдера, стоимость услуги, примерно, 150 рублей в месяц (некоторые поставщики могут предоставлять бесплатно). Для подключения нужно использовать полученный внешний IP.

Если компьютер подключен к Интернету напрямую, никаких дополнительных действий не потребуется. Если мы подключены через NAT (роутер), необходима настройка проброса портов. Пример того, как это можно сделать на Mikrotik.

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

Понравилась статья? Поделить с друзьями:
  • Windows server 2016 не работает поиск
  • Windows server 2016 не работает кнопка пуск
  • Windows server 2016 не работает интернет
  • Windows server 2016 не работает rdp
  • Windows server 2016 не пингуется при отключенном брандмауэре