В десктопных редакциях Windows есть ограничение на максимальное количество одновременных сетевых подключений с других компьютеров. Так, например Window 10 и 11 (независимо от редакции) поддерживают только 20 одновременных сессий. Если компьютер с Windows 10/11 используется в качестве файлового сервера, или сервера печати, то при превышении лимита TCP/IP сессий, 21 пользователь при подключении получит ошибку:
No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.
Или:
Windows не удается подключиться к принтеру. Дополнительные подключения к этому удаленному компьютер сейчас невозможны, так как их число достигло предела.
В пользовательском лицензионном соглашении (EULA)Windows 10 указано, что к компьютеру смогут одновременно подключиться не более 20 устройств (CAL):
Подключение устройств. К программному обеспечению, установленному на лицензированном устройстве, могут иметь доступ до 20 других устройств в целях использования следующих функций программного обеспечения: файловых служб, служб печати, служб IIS и служб общего доступа к подключению Интернета, а также служб телефонии на лицензированном устройстве. Вы можете разрешить любому количеству устройств обращаться к программному обеспечению, установленному на лицензированном устройстве, для синхронизации данных между устройствами.
Таким образом Microsoft ограничивает возможно использования десктопных редакций Windows в качестве полноценного сервера. Если вам нужна поддержка большего количества клиентов, придется приобрести Windows Server (или перейти на samba)
Лимит на количество входящих сессий в Windows можно получить с помощью команды:
net config server
Текущий лимит:
Maximum Logged On Users 20
Например в Windows Server, максимально число подключений намного больше –
16777216
.
Также обратите внимание на значение параметра
Idle session time (min)
. По умолчанию компьютер будет отключать сессии неактивные более 15 минут.
Если вы хотите более агрессивно отключать неактивные сессии (например, уменьшив таймаут неактивности до 5 минут), выполните:
net config server /autodisconnect:5
Также при превышении количества одновременных подключений, вы можете отключить некоторые устройства вручную. Вывести список активных сетевых подключений к компьютеру:
net session
Отключить все активные сессии с компьютера (или IP адреса):
net session \\192.168.31.94 /d
Если при достижении максимального количества подключений вы хотите автоматически отключать определенных клиентов, можно воспользоваться PowerShell скриптом. Ниже приведен пример простого PowerShell скрипта, которые получает список активных сессий и при достижении 19 подключений, отключает 2 сессии с самыми большими таймаутами (но вы можете использовать свою логику).
$number_of_old_sessions_to_kill=2 $output = net session | Select-String -Pattern \\ $CurConns= ($output| Measure-Object -Line).Lines if ($CurConns -ge 19) { $sessions = @() $output | foreach { $parts = $_ -split "\s+", 4 $session= New-Object -Type PSObject -Property @{ Computer = $parts[0].ToString(); Username = $parts[1]; Opens = $parts[2]; IdleTime = $parts[3]; } $sessions += $session } $oldsessions=$sessions|Sort-Object -Property IdleTime -Descending | Select-Object -First $number_of_old_sessions_to_kill ForEach ($oldsession in $oldsessions) { net session $($oldsession.Computer) /d /y } }
Такой PowerShell скрипт можно запускать через планировщик Windows каждые n-минут, чтобы он отключал простаивающие сессии.
Для предыдущих версий Windows можно найти патчи для файла tcpip.sys, позволяющие отключить ограничение на количество сессий в десктопных редакциях Windows (по аналогии с библиотекой RDP Wrapper). Но для Windows 10 и 11 таких патчей я не втречал. В любом случае их использование будет нарушением лицензионного соглашения.
Удаленные пользователи могут подключаться к своим компьютерам с ОС Windows 10 и Windows 11 через службы удаленных рабочих столов (RDP). Достаточно включить RDP в настройках устройства и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола, такого как MSTSC. Но существует ограничение на количество одновременных сеансов RDP – одновременно может работать только один удаленный пользователь. Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой отключить сеанс первого пользователя.
Изменения от 04.07.2023 г.
Настройка службы RDP на Windows 10
RDP работает только на Windows 10/11 Pro, в Home версии отключены нужные системные компоненты. Кроме этого, потребуется защитить паролем вашу учетную запись.
Включение доступа и добавление пользователей.
Откройте Пуск и нажмите на шестеренку Параметры.
Откройте раздел с настройкой системы.
Далее перейдите к настройке удаленного рабочего стола.
Включить удаленный рабочий стол.
Перейти в настройки электропитания, отключить переход компьютера в спящий режим.
Далее необходимо пользователей, которым будет предоставлен доступ к RDP По умолчанию доступ предоставлен администратору компьютера.
Добавляем еще пользователей.
Если вы попытаетесь открыть второй сеанс RDP, появится предупреждение с просьбой отключить сеанс первого пользователя.
На самом деле, количество одновременных подключений RDP в системе Windows ограничено лицензией, а не каким-либо техническим аспектом. Таким образом, это ограничение не позволяет создать терминальный RDP-сервер на базе компьютера с системой Windows 10/11. Логика компании Microsoft проста, если вам нужен сервер терминалов – купите лицензию Windows Server, RDS CALs, установите и настройте роль сервера сеансов удаленного рабочего стола.
Но технически, любая версия Windows, с достаточным объемом оперативной памяти может поддерживать одновременную работу нескольких удаленных пользователей. В среднем, для одного сеанса пользователя, требуется около 200 МБ оперативной памяти (без учета запущенных приложений). Т.е. максимальное количество одновременных сеансов RDP теоретически ограничено только компьютерными ресурсами.
Рассмотрим два способа разрешить одновременные RDP-подключения в Windows 10/11:
- с помощью RDP Wrapper
- исправления библиотеки termsrv.dll
RDP Wrapper
Проект RDP Wrapper – ПО с открытым исходным кодом, позволяет включить несколько сеансов RDP в Windows 10 без замены файла termsrv.dll. Этот инструмент работает как связующее звено между SCM (Service Control Manager) и службами удаленного рабочего стола. RDPWrap позволяет включить не только поддержку нескольких одновременных RDP-подключений, но и создать RDP-сервер в Windows Home. RDP Wrapper не вносит никаких изменений в termsrv.dll файл, это просто загрузка библиотеки termsrv с измененными параметрами.
Таким образом, RDPWrap будет работать даже в случае изменения файла termsrv.dll. Это позволяет не бояться обновлений Windows.
Вы можете загрузить RDP Wrapper из репозитория GitHub https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия библиотеки RDP-оболочки — v1.6.2).
В RDPWrap-v1.6.2.zip содержит несколько файлов:
- RDPWinst.exe — библиотека-оболочка RDP для установки/удаления программы
- RDPConf.exe — инструмент настройки оболочки RDP
- RDPCheck.exe — утилита проверки RDP (Local RDP Checker)
- Install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления оболочки RDP
Для установки оболочки необходимо запустить файл Install.bat с правами администратора.
RDPWrap не работает в Windows 10
После завершения установки запустите RDPConfig.exe . Скорее всего, сразу после установки инструмент покажет, что оболочка RDP запущена (установлена, запущена), но не работает. Обратите внимание на красное предупреждение [not supported]. В нем сообщается, что эта версия Windows 10 (версия 10.0.19041.1387) не поддерживается оболочкой RDP.
Дело в том, что для каждой версии Windows 10/11 должно быть описание в конфигурационном файле rdpwrap.ini. В текущем конфигурационном файле просто нет никаких настроек для вашей сборки Windows.
Текущую версию файла rdpwrap.ini можно загрузить здесь: https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Во всех источниках в интернете находятся советы, что необходимо скопировать новый файл rdpwrap.ini в “C:\Program Файл Files\RDP Wrapper\rdpwrap.ini” и перезапустить службу TermService. Но у меня это ни разу не получилось, ввиду того, что при перезапуске службы, оригинальный файл rdpwrap.ini восстанавливался на место нового.
Немного поискав решение этой проблемы, наткнулся на файл автоматического обновления rdpwrap.ini:
- С сайта GitHub
- С нашего сайта
Необходимо скопировать файлы RDPWinst.exe, RDPConf.exe, RDPCheck.exe и autoupdate.bat в каталог C:\Program Файл Files\RDP Wrapper\ и запустить autoupdate.bat.
После завершения установки запустите RDPConfig.exe
Все работает!
Обновление Параметров Групповой политики
Количество подключений к компьютеру может быть ограничено правилами групповой политики.
В этом случае вы можете использовать редактор локальной групповой политики (gpedit.msc), чтобы включить политику “Ограничить количество подключений” в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения –> Ограничить количество подключений.
Измените его значение на 999999.
Модификация Termsrv.dll
Второй, более трудозатратный метод – изменение файла Termsrv.dll.
для этого нужно сделать копию файла, затем нужно стать владельцем файла.
Для начала, остановите службу удаленного рабочего стола (TermService) из командной строки:
Net stop TermService
Чтобы изменить владельца файла с TrustedInstaller на локальную группу администраторов нужно выполнить команду:
takeown /F c:\Windows\System32\termsrv.dll /A
Теперь предоставьте локальной группе администраторов разрешения на полный контроль над termsrv.dll файл с использованием icacls.exe:
icacls c:\Windows\System32\termsrv.dll /grant Администраторы:F
Затем откройте termsrv.dll файл с использованием любого шестнадцатеричного редактора (например, WinHex). В зависимости от вашей сборки Windows вам необходимо найти и заменить строку в соответствии с приведенной ниже таблицей:
Версия Windows | Строка поиска |
Windows 11 RTM (21H2 – 22000.258) |
39 81 3C 06 00 00 0F 84 4F 68 01 00 |
Windows 10 x64 22H2 19045.2486 |
39 81 3C 06 00 00 0F 84 DB 61 01 00 |
Windows 10 x64 21H2 |
39 81 3C 06 00 00 0F 84 85 45 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 |
Строка замены
B8 00 01 00 00 89 81 38 06 00 00 90
Данную таблицу я нашел на просторах интернета. Проверка данного метода в полевых условиях привела к тому, что я не нашел данную последовательность в своем файле termsrv.dll.
Но если понять суть, то все решается достаточно легко. Необходимо искать последовательность: 39 81 3C 06 00 00 0F 84, последние 4 байта не особо важны.
Я нашел последовательность 39 81 3C 06 00 00 0F 84 73 55 01 00
Замена на
B8 00 01 00 00 89 81 38 06 00 00 90
Обновление от 27.01.2023 г.
Вышло новое обновление Windows 10 22H2 версия сборки: 19045.2486 и 19045.2604
Версия файла termsrv.dll: 10.0.19041.2075
Открываем файл в WinHex, находим исходную последовательность: 39 81 3C 06 00 00 0F 84 85 45 01 00.
Меняем на строку замены.
Обновление от 04.07.2023 г.
Скачать измененный файл termsrv.dll для конкретной версии Windows 10 можно в данной таблице.
Версия Windows | Скачать termsrv.dll |
Windows 10 x64 22H2 сборка 19045.2486 и 19045.2604 |
termsrv.dll |
Windows 10 x64 22H2 сборка 19045.3086 |
termsrv.dll |
Сохраните модифицированный файл и запустите службу TermService.
Если что-то пойдет не так, остановите службу и замените измененный termsrv.dll файл с оригинальной версией.
В моем случае модификация файла помогла включить несколько сеансов RDP.
Преимущество метода включения нескольких сеансов RDP в Windows 10 или 11 путем замены termsrv.dll файл заключается в том, что антивирусы на него не реагируют, в отличие от RDPWrap, который обнаруживается многими антивирусами как вредоносное ПО.
Основным недостатком является то, что вам придется вручную редактировать termsrv.dll файл при каждом обновлении сборки Windows 10/11. И если вы используете RDPWrap, вам также потребуется обновить файл rdpwrap.ini после установки обновлений Windows.
Самый верный вариант — установить серверную ревизию windows (дорого) либо (бесплатно) — linux с samba. Поднять в виртуалке особых проблем не составит.
p.s. можно попробовать windows сборку samba от cygwin, несколько лет назад читал про успешные поытки (даже рнешали проблемы с кирилицей)
сейчас возможно поможет wsl
Когда вам нужно расшарить куче народу папку с обычного рабочего компьютера — ваши проблемы только начинаются. Например, с бэкапом.
Правильное решение — завести сервер, на котором это добро будет лежать. Если нет конкретных привязок к инфраструктуре от M$ — лучше на Линуксе: будет и гибче, и надежнее.
webdav, ftp, http…
Пытаться расшарить папку на системе, предназначенной для игр и развлечений — верный путь к проблемам
Как перейти от Waterfall к Agile
EggHead 06.05.2025
Каскадная модель разработки Waterfall — классический пример того, как благие намерения превращаются в организационный кошмар. Изначально созданная для упорядочивания хаоса и внесения предсказуемости. . .
Оптимизация SQL запросов — Продвинутые техники
Codd 06.05.2025
Интересно наблюдать эволюцию подходов к оптимизации. Двадцать лет назад всё сводилось к нескольким простым правилам: «Избегайте SELECT *», «Используйте индексы», «Не джойните слишком много таблиц». . . .
Создание микросервисов с gRPC и Protobuf в C++
bytestream 06.05.2025
Монолитные приложения, которые ещё недавно считались стандартом индустрии, уступают место микросервисной архитектуре — подходу, при котором система разбивается на небольшие автономные сервисы, каждый. . .
Многопоточность и параллелизм в Python: потоки, процессы и гринлеты
py-thonny 06.05.2025
Параллелизм и конкурентность — две стороны многопоточной медали, которые постоянно путают даже бывалые разработчики.
Конкурентность (concurrency) — это когда ваша программа умеет жонглировать. . .
Распределенное обучение с TensorFlow и Python
AI_Generated 05.05.2025
В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .
CRUD API на C# и GraphQL
stackOverflow 05.05.2025
В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .
Распознавание голоса и речи на C#
UnmanagedCoder 05.05.2025
Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .
Реализация своих итераторов в C++
NullReferenced 05.05.2025
Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .
Разработка собственного фреймворка для тестирования в C#
UnmanagedCoder 04.05.2025
C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .
Распределенная трассировка в Java с помощью OpenTelemetry
Javaican 04.05.2025
Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .
Applies ToWindows 10 Windows 11
Лимитное сетевое подключение будет пытаться контролировать и уменьшать использование данных в сети, поэтому некоторые приложения могут работать по-разному при лимитном подключении. Кроме того, некоторые обновления для Windows не будут устанавливаться автоматически.
Чтобы уменьшить объем данных, используемых приложениями и службами в этой сети, можно вручную задать для Wi-Fi и Ethernet сетевые подключения. Сотовое соединение для передачи данных по умолчанию устанавливается как лимитное.
Установка сети в качестве лимитного подключения
-
Wi-Fi: в разделе Параметры выберите Сеть & Интернет > Wi-Fi > сети Wi-Fi, к которому вы подключены, а затем включите подключение с лимитным лимитом.
-
Ethernet. В разделе Параметры выберите Сеть & Интернет > Ethernet > сети, к которую вы подключены, а затем включите лимитное подключение.
-
Сотовая сеть. В разделе Параметры выберите Сеть & Интернет > Сотовая сеть, а затем включите лимитное подключение.
Вы можете заметить, что параметр лимитного подключения неактивен в любом из указанных выше мест. Если это так, проверка с сотрудником ит-службы поддержки. Параметр лимитного подключения может быть установлен вашей организацией, и в таком случае изменить его не удастся.
Примечание: Если вы задали сетевое подключение в качестве неизменяемого, но имеет ограниченный план обработки данных, вы можете перевыпустить лимит данных для этой сети и нести плату.
Вопросы и ответы
Ниже приведены ответы на некоторые распространенные вопросы о лимитных подключениях к Интернету. Если ваш поставщик услуг Интернета берет плату за объем передаваемых данных, вам может пригодиться эта информация.
Поставщики услуг Интернета могут взимать плату за используемые данные (объем данных, отправленных и полученных устройством). Это называется лимитным подключением к Интернету. В таких тарифах обычно есть ограничение на объем данных, за превышение которого придется заплатить дополнительно. В некоторых случаях с вас не взимается дополнительная плата, но скорость подключения становится медленнее до окончания период выставления счетов.
Если у вас лимитное подключение к Интернету, соответствующая настройка Windows поможет сократить количество полученных и отправленных данных.
Это зависит от того, берет ли ваш поставщик услуг Интернета плату за объем передаваемых данных. Несколько общих рекомендаций:
-
Сети Wi-Fi. Windows по умолчанию настраивает сети Wi‑Fi как безлимитные. Если ваш поставщик услуг Интернета берет плату за объем передаваемых данных, настройка сетевого подключения как лимитного поможет ограничить использование данных.
-
Мобильные широкополосные сети. Windows по умолчанию настраивает мобильные широкополосные сети как лимитные. Если вы используете службу мобильного широкополосного подключения с безлимитным тарифным планом, возможно, стоит изменить параметры сети на безлимитное подключение.
Если вы не уверены в том, что следует делать, ведите учет использования данных. Если вы увидите, что за дополнительное использование данных взимается плата, вы сможете сократить расходы, настроив подключение как лимитное.
В любом приложении, обновление или отображение сведений которого зависит от Интернета, можно ограничить количество данных, которое приложение может скачивать или отображать. Вы можете заметить следующие и другие эффекты:
-
Центр обновления Windows будет скачивать только приоритетные обновления.
-
Скачивание приложений из Microsoft Store может быть приостановлено.
-
Автоматическая синхронизация автономных файлов может не работать.
Если вы заметили, что параметр лимитного подключения включен и выделен серым цветом, и вы не можете отключить его, попробуйте одно из следующих действий:
-
Удалите лимит трафика, если он установлен. Перейдите в раздел Параметры Сети & Интернета, выберите Использование данных, выберите сетевое подключение, а затем выберите Удалить ограничение > Удалить.
-
Убедитесь, что вы вошли с учетной записью с правами администратора. В приложении Параметры выберите Учетные записи > Ваши сведения. Проверьте, есть ли под именем учетной записи надпись Администратор.
-
Обратитесь к специалисту вашей службы ИТ-поддержки. Параметр лимитного подключения может быть установлен вашей организацией, и в таком случае изменить его не удастся.
-
В Windows 11 перейдите в раздел Параметры > клиентский компонент Центра обновления Windows. В Windows 10 перейдите в раздел Параметры > Обновления & Безопасность.
-
Выберите Дополнительные параметры, а затем — Скачать обновления по лимитным подключениям.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.