Вопросом об отключении служб Windows 10 и том, для каких из них можно безопасно изменить тип запуска интересуются обычно в целях повысить производительность системы. Несмотря на то, что это действительно может слегка ускорить работу компьютера или ноутбука, я не рекомендую отключать службы тем пользователям, которые не умеют самостоятельно решить проблемы, которые теоретически могут возникнуть после этого. Собственно, я вообще не рекомендую отключать системные службы Windows 10.
Ниже — список служб, которые можно отключить в Windows 10, информация о том, как это сделать, а также некоторые пояснения по отдельным пунктам. Еще раз отмечу: делайте это только в случае, если знаете, что делаете. Если же таким образом вы просто хотите убрать «тормоза», которые уже имеются в системе, то отключение служб вероятнее всего не сработает, лучше обратить внимание на то, что описано в инструкции Как ускорить Windows 10, а также на установку официальных драйверов вашего оборудования.
Первые два раздела руководства описывают способы ручного отключения служб Windows 10, а также содержат список тех из них, выключить которые в большинстве случаев безопасно. Третий раздел — о бесплатной программе, которая может в автоматическом режиме отключить «ненужные» службы, а также вернуть все настройки в значения по умолчанию, если что-то пошло не так.
Как отключить службы в Windows 10
Начнем с того, как именно отключаются службы. Это можно сделать несколькими способами, из которых рекомендуемым является вход в «Службы» путем нажатия Win+R на клавиатуре и ввода services.msc или через пункт панели управления «Администрирование» — «Службы» (второй способ — вход в msconfig на вкладку «Службы»).
В результате запускается окно со списком служб Windows 10, их состоянием и типом запуска. При двойном клике на любой из них, вы можете остановить или запустить службу, а также изменить тип запуска.
Типы запуска бывают: Автоматически (и отложенный вариант) — запуск службы при входе в Windows 10, вручную — запуск службы в тот момент, когда она потребовалась ОС или какой-либо программе, отключена — служба не может быть запущена.
Кроме этого, вы можете отключить службы с помощью командной строки (от Администратора) с помощью команды
sc config "Имя_службы" start=disabled
где «Имя_службы» — системное имя, используемое Windows 10, видно в верхнем пункте при просмотре информации о любой из служб по двойному клику).
Дополнительно отмечу, что настройки служб влияют на всех пользователей Windows 10. Сами же эти настройки по умолчанию находятся в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\
вы можете предварительно экспортировать данный раздел с помощью редактора реестра, чтобы иметь возможность быстро восстановить значения по умолчанию. Еще лучше — предварительно создать точку восстановления Windows 10, в случае чего ее можно использовать и из безопасного режима.
И еще одно примечание: часть служб можно не только отключить, но и удалить, удалив ненужные вам компоненты Windows 10. Сделать это можно через панель управления (зайти в нее можно через правый клик по пуску) — программы и компоненты — включение или отключение компонентов Windows.
Службы, которые можно отключить
Ниже — список служб Windows 10, которые вы можете отключить при условии, что функции, предоставляемые ими, не используются вами (повторюсь: настоятельно рекомендую создать точку восстановления системы перед этим). Также для отдельных служб я привел дополнительные примечания, которые могут помочь принять решение о целесообразности выключения той или иной службы.
- Факс
- NVIDIA Stereoscopic 3D Driver Service (для видеокарт NVidia, если вы не используете 3D стерео изображения)
- Служба общего доступа к портам Net.Tcp
- Рабочие папки
- Служба маршрутизатора AllJoyn
- Удостоверение приложения
- Служба шифрования дисков BitLocker
- Служба поддержки Bluetooth (если вы не используете Bluetooth)
- Служба лицензий клиента (ClipSVC, после отключения могут неправильно работать приложения магазина Windows 10)
- Браузер компьютеров
- Dmwappushservice
- Служба географического положения
- Служба обмена данными (Hyper-V). Службы Hyper-V имеет смысл отключать только если вы не используете виртуальные машины Hyper-V.
- Служба завершения работы в качестве гостя (Hyper-V)
- Служба пульса (Hyper-V)
- Служба сеансов виртуальных машин Hyper-V
- Служба синхронизации времени Hyper-V
- Служба обмена данными (Hyper-V)
- Служба виртуализации удаленных рабочих столов Hyper-V
- Служба наблюдения за датчиками
- Служба данных датчиков
- Служба датчиков
- Функциональные возможности для подключенных пользователей и телеметрия (Это один из пунктов, чтобы отключить слежку Windows 10)
- Общий доступ к подключению к Интернету (ICS). При условии, что вы не используете функции общего доступа к Интернету, например, для раздачи Wi-Fi с ноутбука.
- Сетевая служба Xbox Live
- Superfetch (при условии, что вы используете SSD)
- Диспетчер печати (если вы не используете функции печати, в том числе встроенную в Windows 10 печать в PDF)
- Биометрическая служба Windows
- Удаленный реестр
- Вторичный вход в систему (при условии, что вы его не используете)
Если вам не чужд английский язык, то, пожалуй, самую полную информацию о службах Windows 10 в разных редакциях, параметрах их запуска по умолчанию и безопасных значениях, вы можете почерпнуть на странице blackviper.com/service-configurations/black-vipers-windows-10-service-configurations/.
Программа для отключения служб Windows 10 Easy Service Optimizer
А теперь о бесплатной программе для оптимизации параметров запуска служб Windows 10 — Easy Service Optimizer, которая позволяет легко отключить неиспользуемые службы ОС по трем предустановленным сценариям: Безопасный, Оптимальный и Экстремальным. Внимание: настоятельно рекомендую создать точку восстановления перед использованием программы.
Не ручаюсь, но, возможно, использование такой программы для начинающего пользователя будет более безопасным вариантом, чем отключение служб вручную (а еще лучше начинающему ничего не трогать в параметрах служб), поскольку делает возврат к исходным настройкам более простым.
Интерфейс Easy Service Optimizer на русском языке (если не включился автоматически, зайдите в Options — Languages) и программа не требует установки. После запуска, вы увидите список служб, их текущего состояния и параметров запуска.
Внизу — четыре кнопки, которые позволяют включить состояние служб по умолчанию, безопасный вариант отключения служб, оптимальный и экстремальный. Планируемые изменения сразу отображаются в окне, а по нажатию левой верхней иконки (или выборе в меню «Файл» — «Применить настройки»), параметры применяются.
По двойному клику по любой из служб, можно увидеть ее имя, тип запуска и безопасные значения запуска, которые будут применены программой при выборе различных ее установок. Помимо прочего, через контекстное меню по правому клику на любой службе вы можете удалить ее (не советую).
Скачать Easy Service Optimizer можно бесплатно с официальной страницы sordum.org/8637/easy-service-optimizer-v1-1/ (кнопка для загрузки находится внизу страницы).
#Requires -RunAsAdministrator
# «test service» and «core svc test» means potentially needed to work
# WIP SCRIPT!
$services = @(
«diagnosticshub.standardcollector.service« # Microsoft (R) Diagnostics Hub Standard Collector Service
«DiagTrack« # Diagnostics Tracking Service
«dmwappushservice« # WAP Push Message Routing Service (see known issues)
«lfsvc« # Geolocation Service
«MapsBroker« # Downloaded Maps Manager
«NetTcpPortSharing« # Net.Tcp Port Sharing Service
«RemoteAccess« # Routing and Remote Access
«RemoteRegistry« # Remote Registry
«SharedAccess« # Internet Connection Sharing (ICS)
«TrkWks« # Distributed Link Tracking Client
«WbioSrvc« # Windows Biometric Service (required for Fingerprint reader / facial detection)
#«WlanSvc» # WLAN AutoConfig, can break WIFI
«WMPNetworkSvc« # Windows Media Player Network Sharing Service
#«wscsvc» # Windows Security Center Service
«WSearch« # Windows Search
«XblAuthManager« # Xbox Live Auth Manager
«XblGameSave« # Xbox Live Game Save Service
«XboxNetApiSvc« # Xbox Live Networking Service
«XboxGipSvc« #Disables Xbox Accessory Management Service
#«ndu» # test # Windows Network Data Usage Monitor
«WerSvc« #disables windows error reporting
«Spooler« #Disables your printer
«Fax« #Disables fax
«fhsvc« #Disables fax histroy
«gupdate« #Disables google update
«gupdatem« #Disable another google update
«stisvc« #Disables Windows Image Acquisition (WIA)
«AJRouter« #Disables (needed for AllJoyn Router Service)
«MSDTC« # Disables Distributed Transaction Coordinator
«WpcMonSvc« #Disables Parental Controls
«PhoneSvc« #Disables Phone Service(Manages the telephony state on the device)
# «PrintNotify» #Disables Windows printer notifications and extentions
«PcaSvc« #Disables Program Compatibility Assistant Service
«WPDBusEnum« #Disables Portable Device Enumerator Service
«LicenseManager« #Disable LicenseManager(Windows store may not work properly)
«seclogon« #Disables Secondary Logon(disables other credentials only password will work)
«SysMain« #Disables sysmain
«lmhosts« #Disables TCP/IP NetBIOS Helper
«wisvc« #Disables Windows Insider program(Windows Insider will not work)
«FontCache« #Disables Windows font cache
«RetailDemo« #Disables RetailDemo whic is often used when showing your device
«ALG« #Disables Application Layer Gateway Service(Provides support for 3rd party protocol plug-ins for Internet Connection Sharing)
«SCardSvr« #Disables Windows smart card, most home users don’t need it, businesses may need it however
«SCPolicySvc« #Allows the system to be configured to lock the user desktop upon smart card removal.
«ScDeviceEnum« #Creates software device nodes for all smart card readers accessible to a given session. If this service is disabled, WinRT APIs will not be able to enumerate smart card readers.
«MessagingService_34048« # Service supporting text messaging and related functionality.
«wlidsvc« #Enables user sign-in through Microsoft account identity services. If you loged in using a microsft account, while setting up Windows your pc will likely break
«EntAppSvc« #Disables enterprise application management. Home users likely don’t need this.
«BthAvctpSvc« #Disables AVCTP service (if you use Bluetooth Audio Device or Wireless Headphones. then don’t disable this)
#«FrameServer» #Zoom won’t work,Disables Windows Camera Frame Server(this allows multiple clients to access video frames from camera devices.)
«Browser« #Disables computer browser
«BthAvctpSvc« #AVCTP service (This is Audio Video Control Transport Protocol service.)
«BDESVC« #Disables bitlocker
«iphlpsvc« #Disables ipv6 but most websites don’t use ipv6 they use ipv4
«edgeupdate« #Disables one of edge’s update service
«MicrosoftEdgeElevationService« #Disables one of edge’s service
«edgeupdatem« #Disbales another one of update service (disables edgeupdatem)
«SEMgrSvc« #Disables Payments and NFC/SE Manager (Manages payments and Near Field Communication (NFC) based secure elements)
#«PNRPsvc» #Disables peer Name Resolution Protocol ( some peer-to-peer and collaborative applications, such as Remote Assistance, may not function, Discord will still work)
#«p2psvc» #Disbales Peer Name Resolution Protocol(nables multi-party communication using Peer-to-Peer Grouping. If disabled, some applications, such as HomeGroup, may not function. Discord will still work)
#«p2pimsvc» #Disables Peer Networking Identity Manager (Peer-to-Peer Grouping services may not function, and some applications, such as HomeGroup and Remote Assistance, may not function correctly.Discord will still work)
«PerfHost« #Disables remote users and 64-bit processes to query performance .
«BcastDVRUserService_48486de« #Disables GameDVR and Broadcast is used for Game Recordings and Live Broadcasts
«CaptureService_48486de« #Disables ptional screen capture functionality for applications that call the Windows.Graphics.Capture API.
«cbdhsvc_48486de« #Disables cbdhsvc_48486de (clipboard service it disables)
«BluetoothUserService_48486de« #disbales BluetoothUserService_48486de (The Bluetooth user service supports proper functionality of Bluetooth features relevant to each user session.)
# «WpnService» test service #Disables WpnService (Push Notifications may not work )
«DoSvc« #Performs content delivery optimization tasks, mainly for windows updates.
«RtkBtManServ« #Disables Realtek Bluetooth Device Manager Service
«QWAVE« #Disables Quality Windows Audio Video Experience (audio and video might sound worse)
«SNMPTrap« #Receives trap messages generated by local or remote Simple Network Management Protocol (SNMP) agents and forwards the messages to SNMP management programs running on this computer. If this service is stopped, SNMP-based programs on this computer will not receive SNMP trap messages. If this service is disabled, any services that explicitly depend on it will fail to start.
«SECOMNService« #Sound Research SECOMN Service
#«WpnUserService_34048» #core svc test #Required by WpnService, allows for notifications from other apps
«AMD External Events Utility« # Placeholder
«cbdhsvc_34048« # Disables the windows clipboard
«autotimesvc« # This service sets time based on NITZ messages from a Mobile Network
#«TimeBrokerSvc» # not reccomended to disabler# Windows UWP(Microsft store apps) will stop working. Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered.
«TokenBroker« # This service is used by Web Account Manager to provide single-sign-on to apps and services.
«RmSvc« # Radio Management and Airplane Mode Service
«RtkAudioUniversalService« # Realtek Audio Universal Service
«SensorDataService« # Delivers data from a variety of sensors
#«OneSyncSvc_34048» # May be named differently. This service synchronizes mail, contacts, calendar and various other user data. Mail and other applications dependent on this functionality will not work properly when this service is not running.
#«OneSyncSvc»
«EventLog« # This service manages events and event logs.
«tzautoupdate« # Automatically sets the system time zone.
«SynTPEnhService« # Synaptics TouchPad Enhancements Service
#«TermService» # test service # Allows users to connect interactively to a remote computer. Remote Desktop and Remote Desktop Session Host Server depend on this service. To prevent remote use of this computer, clear the checkboxes on the Remote tab of the System properties control panel item.
#«SessionEnv» # test service # Remote Desktop Configuration service (RDCS) is responsible for all Remote Desktop Services and Remote Desktop related configuration and session maintenance activities that require SYSTEM context. These include per-session temporary folders, RD themes, and RD certificates.
«RasMan« # Manages dial-up and virtual private network (VPN) connections from your computer to the Internet or other remote networks. If this service is disabled, any services that explicitly depend on it will fail to start.»
«BcastDVRUserService_34048« # This user service is used for Game Recordings and Live Broadcasts
«PenService_34048« # Digital pen service. All digital pens will fail to work
# «NPSMSvc_34048» test service # Provides support for the Now Playing feature.
# «DPS» # The Diagnostic Policy Service enables problem detection, troubleshooting and resolution for Windows components. If this service is stopped, diagnostics will no longer function.
«tapisrv« # Provides Telephony API (TAPI) support for programs that control telephony devices on the local computer and, through the LAN, on servers that are also running the service.
# HP services
«HPAppHelperCap« #Disable HPAppHelperCap(used by hp software; safe to remove)
«HPDiagsCap« #Disable HPDiagsCap(used by hp software; safe to remove)
«HPNetworkCap« #Disable HPNetworkCap(used by hp software; safe to remove)
«HPSysInfoCap« #Disable HPSysInfoCap(used by hp software; safe to remove)
«HpTouchpointAnalyticsService« #Disable HpTouchpointAnalyticsService(used by hp software; safe to remove)
#hyper-v services
«HvHost« #Manages and supports Hyper-V virtualization services
«vmickvpexchange« #Facilitates communication between the host and virtual machines
«vmicguestinterface« #Provides network communication for guest virtual machines
«vmicshutdown« #Allows for proper shutdown coordination between host and virtual machines
«vmicheartbeat« #Monitors the heartbeat status of virtual machines for health monitoring
«vmicvmsession« #Manages sessions between the host and virtual machines
«vmicrdv« #Handles Remote Desktop Virtualization
«vmictimesync« #Ensures time synchronization between the host and virtual machines.
# Dell services can somone with a dell latop conform these are the names?
«SupportAssistAgent« #Automated support and system health monitoring for Dell Computer
«DellUpService« #Manages Dell driver and software updates for Dell Computer
«DataVault« #Provides data protection and management features for Dell computer
«DellCustomerConnect« #Offers promotions and deals for Dell computer
«Dell.Foundation.Agent« #Supports other Dell software functionalities for Dell computer
«nosGetPlusHelper« #Handles software delivery and installation process for Dell computer
#Lenovo can someone with a dell conform these are the names?
«LSCNotify« #Collects data for for Lenovo computer
«LnvAgent« #Provides system updates and support For Lenovo computers
«Lenovo.Modern.ImController.PluginHost.CompanionApp« # Part of Lenovo Vantage for system management.
«Lenovo.Modern.ImController.PluginHost.Device« # Handles device-related functions in Lenovo Vantage.
«Lenovo.Modern.ImController« #Manages system settings and updates.
«LenovoUtility« #Offers various utility functions for Lenovo devices.
# Services which cannot be disabled
# «Themes» # This disables all Personalization setting
# «AppXSvc» # https://answers.microsoft.com/en-us/windows/forum/all/whats-the-point-that-when-you-disable-the-state/50dea8b0-50a0-4404-83e2-b70277520973
# «RpcSs» #The RPCSS service is the Service Control Manager for COM and DCOM servers. It performs object activations requests, object exporter resolutions and distributed garbage collection for COM and DCOM servers. If this service is stopped or disabled, programs using COM or DCOM will not function properly. It is strongly recommended that you have the RPCSS service running.
# «RpcEptMapper» #The RPCSS service is the Service Control Manager for COM and DCOM servers. It performs object activations requests, object exporter resolutions and distributed garbage collection for COM and DCOM servers. If this service is stopped or disabled, programs using COM or DCOM will not function properly. It is strongly recommended that you have the RPCSS service running. #The Diagnostic Policy Service enables problem detection, troubleshooting and resolution for Windows components. If this service is stopped, diagnostics will no longer function.
# «WdiServiceHost» #The Diagnostic Service Host is used by the Diagnostic Policy Service to host diagnostics that need to run in a Local Service context. If this service is stopped, any diagnostics that depend on it will no longer function.
# «WdiSystemHost» #The Diagnostic System Host is used by the Diagnostic Policy Service to host diagnostics that need to run in a Local System context. If this service is stopped, any diagnostics that depend on it will no longer function.
# «BFE» #Disables Base Filtering Engine (BFE) (is a service that manages firewall and Internet Protocol security)
# «BrokerInfrastructure» #Disables Windows infrastructure service that controls which background tasks can run on the system.
# «SENS» # Monitors system events and notifies subscribers to COM+ Event System of these events.
# «AppIDSvc» # Determines and verifies the identity of an application. Disabling this service will prevent AppLocker from being enforced.
# «camsvc» # Provides facilities for managing UWP apps access to app capabilities as well as checking an app’s access to specific app capabilities.
# «WdNisSvc» # Helps guard against intrusion attempts targeting known and newly discovered vulnerabilities in network protocols.
# «StorSvc» #Disables StorSvc (usb external hard drive will not be reconised by windows)
#«StateRepository» #Provides required infrastructure support for the application model. Apps on the Microsoft store will not work https://answers.microsoft.com/en-us/windows/forum/all/whats-the-point-that-when-you-disable-the-state/50dea8b0-50a0-4404-83e2-b70277520973
#«CertPropSvc» # needed service # Copies user certificates and root certificates from smart cards into the current user’s certificate store, detects when a smart card is inserted into a smart card reader, and, if needed, installs the smart card Plug and Play minidriver.
# TextInputManagementService seems to be needed to login
# CloudBackupRestoreSvc_34048 is not needed to be disabled
Out-File —FilePath «.\log.txt« —Append
)
# These services break core functionality
#$deepservices =@ (
# «LanmanServer» #The LanmanServer service allows your computer to share files and printers with other devices on your network.
# «Dhcp» #Registers and updates IP addresses and DNS records for this computer. If this service is stopped, this computer will not receive dynamic IP addresses and DNS updates. If this service is disabled, any services that explicitly depend on it will fail to start.
# «Dnscache» not reccomended to disable #The DNS Client service (dnscache) caches Domain Name System (DNS) names and registers the full computer name for this computer. If the service is stopped, DNS names will continue to be resolved. However, the results of DNS name queries will not be cached and the computer’s name will not be registered. If the service is disabled, any services that explicitly depend on it will fail to start.
# «Power» #Manages power policy and power policy notification delivery.
# «VaultSvc» #Provides secure storage and retrieval of credentials to users, applications and security service packages
# «TroubleshootingSvc» #The Recommended Troubleshooting Service
# «diagsvc» #Executes diagnostic actions for troubleshooting support
#)
# uncomment the above services and the script below in order for it to run
# This disables core services which may break core functionality
#foreach ($service in $services) {
# Get-Service -Name $service | Stop-Service -Force
# Get-Service -Name $service | Set-Service -StartupType Disabled
# Write-Output «Trying to disable $service»
# Write-Output «Trying to Stop $service»
# Out-File -FilePath «.\log.txt»
#}
foreach ($service in $services) {
Get-Service —Name $service | Stop-Service —Force | Out-File —FilePath «.\log.txt« —Append
Get-Service —Name $service | Set-Service —StartupType Disabled | Out-File —FilePath «.\log.txt« —Append
Write-Output «Trying to disable $service« | Out-File —FilePath «.\log.txt« —Append
Write-Output «Trying to Stop $service« | Out-File —FilePath «.\log.txt« —Append
}
# Disables all acer services (I don’t have an acer laptop, either remove this script or manually disable the services.If you dont trust it)
$acer = Get-Service | Where-Object {$_.DisplayName -like ‘*Acer*‘}
foreach ($acer in $acer) {
Get-Service —Name $acer | Stop-Service —Force
Get-Service —Name $acer | Set-Service —StartupType Disabled
The follow acer service is being stopped Stop-Service $acer
The follow acer service is being disabled Disable-Service $acer
}
#Disables all Samsung services( I don’t have an Samsung laptop, either remove this script or manually disable the services, If you dont trust it)
$sam = Get-Service | Where-Object {$_.DisplayName -like ‘*Samsung*‘}
foreach ($sam in $sam) {
Get-Service —Name $sam | Stop-Service —Force
Get-Service —Name $sam | Set-Service —StartupType Disabled
The follow acer service is being stopped Stop-Service $sam
The follow acer service is being disabled Disable-Service $sam
Out-File —FilePath «.\log.txt«
}
#Disables all MSI services( I don’t have an MSI, either remove this script or manually disable the services. If you dont trust it)
$msi = Get-Service | Where-Object {$_.DisplayName -like ‘*msi*‘}
foreach ($msi in $msi) {
Get-Service —Name $msi | Stop-Service —Force
Get-Service —Name $msi | Set-Service —StartupType Disabled
The follow acer service is being stopped Stop-Service $msi
The follow acer service is being disabled Disable-Service $msi
Out-File —FilePath «.\log.txt«
}
#Disables all Huawei services( I don’t have an Huawei laptop, either remove this script or manually disable the services. If you dont trust it)
$Huawei = Get-Service | Where-Object {$_.DisplayName -like ‘*Huawei*‘}
foreach ($Huawei in $Huawei) {
Get-Service —Name $Huawei | Stop-Service —Force
Get-Service —Name $Huawei | Set-Service —StartupType Disabled
The follow acer service is being stopped Stop-Service $Huawei
The follow acer service is being disabled Disable-Service $Huawei
}
,
If you could not connect to a remote computer through Remote Desktop after installing Windows 11 22H2 Update, follow the instructions below to fix the problem.
Several Windows 11 users have reported that they are having problems connecting to Remote Desktop (RDP) after the installation of 22H2 update. More specifically, they report that they are either unable to connect to the remote computer with error code 0x10b, or the remote connection drops after a while.
The aforementioned remote desktop connection issues do not occur when connecting from computers running Windows 10/8/7, or Windows 11 version 21H2, and this means that they are due to a bug in Windows 11 version 22H2.
This guide contains several methods to fix the following issues with remote desktop on Windows 11 22H2:
- RemoteApp and Desktop Connections hang on «Loading the virtual machine».
- Windows 11 22H2 breaks the Remote Desktop Connection.
- Windows 11 22H2 cannot connect to remote desktop computer with error 0x10b.
How to Fix Windows 11 22H2 Remote Desktop Connection problems.
Method 1. Prevent Remote Desktop Client to connect through UDP.
Remote desktop connection problems in Windows 11 22H2 are due to a bug in the Remote Desktop client (mstsc.exe), which tries to connect to the remote computer over a UDP port instead of TCP. So, the way to solve the problem is to prevent the RDP client from using the UDP protocol to connect to the remote computer and use only the TCP port. To do that, use one of the ways below:
Way 1. Disable UDP Port in RDP Client through Registry.
To disable the UDP protocol in Remote Desktop client using Registry, create the fClientDisableUDP DWORD and set it’s value data to 1 at the following registry location:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client
To do that:
1. Restart the client PC, or terminate the «mstsc.exe» process using Task Manager.
2. Open Command Prompt as Administrator.
3. In command prompt, copy and paste the following command:
REG ADD «HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client» /v fClientDisableUDP /t REG_DWORD /d 1 /f
4. Restart you PC and then try to connect to the remote computer using remote desktop. *
* Note: If you want to undo this change an to re-enable the UDP on RDP on the future, navigate to the above mentioned registry location and delete the fClientDisableUDP DWORD value.
Way 2. Turn Off the UDP Port in RDP in Group Policy.
To disable the UDP port in remote desktop client, using Group Policy:
1. Restart the client PC, or terminate the «mstsc.exe» process using Task Manager.
2. Open the Group Policy Editor. To do that:
1. Press simultaneously the Windows + R keys to open the run command box.
2. Type gpedit.msc & press Enter to open the Group Policy Editor.
2. At the left pane navigate to:
- Computer Configuration > Administration Templates > Windows Components > Remote Desktop Services > Remote Desktop Connection Client
3. At the right-pane open the Turn Off UDP on Client policy.
4. Set the policy to Enabled and click OK
Method 2. Replace MSTSC.EXE & MSTSCAX.DLL Files from another machine with Windows 11 21H2.
To second method to fix the remote desktop connections issues on Windows 11 22H2, is to copy the files mstsc.exe and mstscax.dll from a Windows 11 21H2 computer and to copy them to your Windows 11 22H2 computer. to do that:
1. From a Windows 11 21H2 PC, copy the mstsc.exe and mstscax.dll files from the C:\Windows\System32 folder on a USB disk.
2. On the Windows 11 22H2 PC, proceed and take the ownership of the mstsc.exe and mstscax.dll files as instructed below, in order to be able to replace them with the files from the Windows 11 21H2 machine. *
* Note: Before proceeding below, I suggest to copy to mstsc.exe and mstscax.dll files to another location on the disk as a backup.
3. Navigate to C:\Windows\System32 folder, right-click on mstsc.exe file and select Properties.
4. In Security tab, click Advanced.
5. Click Change next to TrustedInstaller.
6. Type your username and hit OK.
7. Now select the Users group and click Edit
8. Check the Full Control box and click OK.
9. Click OK.
10. Click Yes at Windows Security message to change the permissions.
11. Click OK and close the file properties.
12. Repeat the same steps and change the owner and the permissions on the mstscax.dll file.
13. Finally copy the files mstsc.exe and mstscax.dll from the USB disk to C:\Windows\System32 folder and then connect to remote desktop computer.
Method 3. Rollback to Windows 11 21H2.
The final method to fix Remote Desktop issues in Windows 11 22H2 is to roll back your system to the previous version 21H2 until Microsoft fixes the issue in the future. To do that:
1. Go to Start > Settings > Update and Security and click Advanced Options on the right pane.
2. Then click Recovery and click Go back under the Recovery Options.
That’s all folks! Which method worked for you?
Please leave a comment in the comment section below or even better: like and share this blog post in the social networks to help spread the word about this solution.
If this article was useful for you, please consider supporting us by making a donation. Even $1 can a make a huge difference for us.
- Author
- Recent Posts
Konstantinos is the founder and administrator of Repairwin.com. Since 1995 he works and provides IT support as a computer and network expert to individuals and large companies. He is specialized in solving problems related to Windows or other Microsoft products (Windows Server, Office, Microsoft 365, etc.).
Протокол Remote Desktop Protocol (RDP) позволяет удаленно подключиться к рабочему столу компьютера с Windows и работать с ним, как будто это ваш локальный компьютер. По умолчанию RDP доступ в Windows запрещен. В этой статье, мы покажем, как включить и настроить RDP доступ в Windows 10 и Windows Server 2016/2019.
Содержание:
- Включаем удаленный рабочий стол в Windows 10
- Как включить RDP доступ с помощью PowerShell?
- RDP доступ к Windows Server 2016/2019
- Включение RDP с групповых политик в домене Active Direcrtory
- Как удаленно включить RDP на компьютере Windows?
Включаем удаленный рабочий стол в Windows 10
Самый простой способ включить RDP доступ в Windows – воспользоваться графическим интерфейсом.
Откройте свойства системы через панель управления, или выполнив команду SystemPropertiesRemote.
Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).
В целях безопасности желательно разрешить подключение только с клиентов RDP с поддержкой протокола NLA (Allow connections only from computers running Remote Desktop with Network Level Authentication/ Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети).
Сохраните изменения, нажав ОК.
По умолчанию право на подключение к компьютеру через RDP есть только у членов группы локальных администраторов. Если вам нужно разрешить RDP доступ другим пользователям, нажмите кнопку Select Users.
Все пользователи, которых вы укажете здесь будет добавлены в локальную группу Remote Desktop Users. Вы можете в командной строке вывести список пользователей в этой группе:
net localgroup "Remote Desktop Users"
или
net localgroup “Пользователи удаленного рабочего стола”
Чтобы добавить нового пользователя в группу доступа RDP, выполните:
net localgroup "Remote Desktop Users" /add publicuser
В русской версии Windows измените название группы на “Пользователи удаленного рабочего стола”.
В новых билдах Windows 10 классическая панель для включения RDP доступа теперь спрятана и Microsoft рекомендует пользоваться новой панелью Setting.
- Перейдите в Settings -> System —> Remote Desktop;
- Включите опцию Enable Remote Desktop;
- Подтвердите включение RDP на компьютере.
Обратите внимание, что вы не можете включить RDP доступ к редакции Windows 10 Home. RDP сервер работает только на Windows 10 Pro и Enterprise. Впрочем, есть обходное решение.
Обратите внимание, что по умолчанию при включении Remote Desktop, включаются две опции:
- Keep my PC awake for connection when it is plugged in ;
- Make my PC discoverable on private networks to enable automatic connection from a remote device
На жмите на ссылку “Advanced settings”. Здесь можно включить использование протокола “Network Level Authentication” для RDP подключений (рекомендуется).
Если на компьютере включен Windows Defender Firewall (брандмауэр), то нужно проверить, что в нем разрешены входящие RDP подключения. По умолчанию для RDP подключений используется порт TCP
3389
, а в последних билдах Windows также используется
UDP 3389
( см. статью про кейс с черным экраном вместо рабочего стола при RDP доступе).
Перейдите в панель управления и выберите элемент Windows Defender Firewall. Откройте список стандартных правил брандмауэра Windows, щелкнув в левом столбце по ссылке Allow an app or feature through Windows Firewall.
Проверьте, что правило Remote Desktop включено для профиля Private (домашняя или рабочая сеть) и, если необходимо, для профиля Public (общедоступные сети).
Подробнее про типы сетей и профили брандмауэра Windows здесь.
Если нужно, вы можете дополнительно ограничить длительность RDP сессий с помощью GPO.
Теперь к данному компьютеру можно подключится с помощью RDP клиента. Встроенный RDP клиент Windows –
mstsc.exe
. Он сохраняет всю историю RDP подключений с компьютера. Поддерживается копирование файлов между локальным и удаленным компьютером прямо через буфер обмена RDP.
Также вы можете использовать менеджеры RDP подключений, такие как RDCMan или mRemoteNG, или альтернативные клиенты.
Для удобства пользователей пароль для RDP подключения можно сохранить в Windows Credential Manager.
Как включить RDP доступ с помощью PowerShell?
Вы можете включить RDP доступ в Windows с помощью пары PowerShell команд. Это гораздо быстрее:
- Запустите консоль PowerShell.exe с правами администратора;
- Включите RDP доступ в реестре с помощью командлета Set-ItemProperty:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0Чтобы закрыть RDP доступ, измените значение fDenyTSConnections на 1.
- Разрешите RDP подключения к компьютеру в Windows Defender Firewall. Для этого включите предустановленное правило :
Enable-NetFirewallRule -DisplayGroup "Remote Desktop" - Если нужно добавить пользователя в группу в локальную группу RDP доступа, выполните:
Add-LocalGroupMember -Group "Remote Desktop Users" -Member 'a.petrov'
Чтобы проверить, что на компьютере открыт RDP порт, воспользуйтесь командлетом Test-NetConnection:
Test-NetConnection -ComputerName deskcomp323 -CommonTCPPort rdp
RDP доступ к Windows Server 2016/2019
В отличии от десктопной редакции Windows 10, в Windows Server по умолчанию поддерживается два одновременных RDP подключения. Эти подключения используются администраторами для управления сервером.
Включается RDP в Windows Server аналогично. Через SystemPropertiesRemote, через Server Manager или командами PowerShell, рассмотренными выше.
Вы можете использовать Windows Server в качестве терминального сервера. В этом случае множество пользователей могут одновременно подключаться к собственному рабочему столу на сервере. Для этого нужно установить и настроить на сервере роль Remote Desktop Session Host. Это требует приобретения специальных RDS лицензии (CAL). Подробнее о RDS лицензировании здесь.
Для дополнительно защиты RDP сессий можно использовать SSL/TLS сертификаты.
Включение RDP с групповых политик в домене Active Direcrtory
Если вам нужно включить RDP доступ сразу на большом количестве компьютеров, можно воспользоваться групповыми политиками (GPO). Мы подразумеваем, что все компьютеры включены в домен Windows.
- Запустите консоль управления доменными GPO
gpmc.msc
; - Создайте новую (или отредактируйте уже существующую) групповую политику и привяжите ее к целевой OU с компьютерами или серверами;
- Переключитесь в режим редактирования политики и перейдите в секцию GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections;
- Найдите и включите политику Allow Users to connect remotely by using Remote Desktop Services, установив ее в Enable;
- Обновите параметры групповых политик на клиентах;
- После применения данной политики вы сможете подключится ко всем компьютерам по RDP (политика применится как к десктопным клиентам с Windows 10, так и к Windows Server). Если нужно, вы можете более тонко нацелить политики на компьютеры с помощью WMI фильтров GPO.
- Если на компьютерах включен Windows Defender Firewall, нужно в этой же GPO разрешить RDP-трафик для доменного профиля. Для этого нужно активировать правило Windows Firewall: Allow inbound Remote Desktop Exceptions (находится в разделе Computer Configuration -> Administrative Templates -> Network -> Network Connections -> Windows Firewall -> Domain Profile).
Подробнее о настройке правил брандмаура Windows через GPO рассказано здесь.
Как удаленно включить RDP на компьютере Windows?
Также вы можете удаленно включить RDP на любом компьютере Windows. Для этого у вас должен быть удаленный доступ к этому компьютеру (через PowerShell или WMI) и ваша учетная запись состоять в группе локальных администраторов на этом компьютере.
Вы можете удаленно включить RDP через реестр. Для этого на удаленном компьютере должна быть включена служба Remote Registry (по умолчанию она отключена). Чтобы запустить службу:
- Запустите консоль управления службами (
services.msc
); - Выберите Connect to another computer и укажите имя удаленного компьютера;
- Найдите в списке службу Remote Registry, измените тип запуска на Manual (ручной) и затем запустите службу – Start.
Тоже самое можно выполнить удаленно из командной строки с помощью встроенной утилиты
sc
(позволяет создавать, управлять или удалять службы Windows):
sc \\WKMDK22SQ65 config RemoteRegistry start= demand
sc \\WKMDK22SQ65 start RemoteRegistry
Затем на локальном компьютере
- Запустите редактор реестра
regedit.exe - Выберите в меню Файл пункт Connect Network Registry (Подключить сетевой реестр)
- Укажите имя или IP адрес удаленного компьютера, на котором нужно включить службу RDP;
- Перейдите в раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
; - Найдите параметр fDenyTSConnections (тип REG_DWORD). Если данный ключ отсутствует – создайте его. Измените его значение на 0, чтобы включить RDP.
Для отключения RDP доступа нужно изменить значение fDenyTSConnections на 1.
Сразу после этого без перезагрузки удаленный компьютер должен стать доступным по RDP.
Но гораздо быстрее можно включить RDP в реестре удаленого компьютера через командную строку:
REG ADD "\\WKMDK22SQ65\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
Если на удаленном компьютере настроен PowerShell remoting, вы можете выполнить на нем удаленную команду через Invoke-Command:
Invoke-Command -Computername WKMDK22SQ65 -ScriptBlock {Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" –Value 0}
Если в Windows установлен OpenSSH сервер, вы можете подключиться к нему любым ssh клиентом и внести изменения в реестр в локальной ssh сессии.
Также вы можете подключиться к удаленному компьютеру и включить RDP через WMI:
$compname = “WKMDK22SQ65”
(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace root\CIMV2\TerminalServices -Computer $compname -Authentication 6).SetAllowTSConnections(1,1)
Remote users can connect to their Windows 10 and 11 computers through the Remote Desktop Services (RDP). All you need to do is enable Remote Desktop, grant the user RDP access permissions, and connect to the computer using any remote desktop client. However, the number of concurrent RDP sessions is limited in desktop versions of Windows. Only one active Remote Desktop user session is allowed.
A warning will appear asking you to disconnect the first user’s session if you try to establish a second RDP connection.
Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?
Contents:
- Number of Concurrent RDP Connections on Windows
- RDP Wrapper: Enable Multiple RDP Sessions on Windows
- RDP Wrapper Not Working on Windows
- Patch the Termsrv.dll to Enable Multiple Remote Desktop Sessions
- Multiple Concurrent RDP Connections in Windows 10 Enterprise Multi-session
Number of Concurrent RDP Connections on Windows
There are several restrictions on the use of Remote Desktop Services in all desktop versions of Windows 10 and 11:
- Only Windows Professional and Enterprise editions can accept remote desktop connections. RDP access is not allowed to Home/Single Language Windows editions;
- Only one simultaneous RDP connection is available. Attempting to start a second RDP session will prompt the user to end the active session;
- If the user is working at the computer console (locally), their local session is disconnected (locked) when they make a remote RDP connection. The remote RDP session will also be terminated if the user logs into Windows from the computer’s console.
The number of concurrent RDP connections on Windows is a license limitation. Microsoft prohibits the creation of a workstation-based Terminal RDP server for multiple users to work simultaneously.
If your tasks require the deployment of a terminal server, Microsoft suggests purchasing a Windows Server (allows two simultaneous RDP connections by default). If you need more concurrent user sessions, you will need to purchase RDS CALs, install, and configure the Remote Desktop Session Host (RDSH) role, or deploy an RDS farm.
Technically, any version of Windows with sufficient RAM and CPU resources can support dozens of remote user sessions simultaneously. On average, an RDP user session requires 150-200MB of memory (excluding running apps). This means that the maximum number of concurrent RDP sessions is limited only by the available resources of the computer.
In this article, we are going to show you three ways to remove the limit on the number of concurrent RDP connections in Windows 10 and 11:
- RDP Wrapper
- Modifying the termsrv.dll file
- Upgrading Windows 10/11 edition to Enterprise for virtual desktops (multi-session)
Note. Any modifications to the operating system that are described in this article are considered a violation of the Windows License Agreement and may be used at your own risk.
Before you proceed, make sure that the Remote Desktop protocol is enabled in Windows.
- Go to Settings -> System —> Remote Desktop -> Enable Remote Desktop;
- Or use the classic Control Panel: run the command
SystemPropertiesRemoteand check the option Allow remote connection to this computer.
RDP Wrapper: Enable Multiple RDP Sessions on Windows
The RDP Wrapper Library OpenSource project allows you to enable multiple RDP sessions on Windows 10/11 without replacing the termsrv.dll file. This tool acts as a layer between SCM (Service Control Manager) and the Remote Desktop Services. The RDP wrapper doesn’t make any changes to the termsrv.dll file, it simply loads the termsrv with the modified settings.
Thus, the RDPWrap will work even in the case of termsrv.dll file update. It allows you not to be afraid of Windows updates.
Important. Before installing the RDP Wrapper, it is important to make sure that you are using the original (unpatched) version of the termsrv.dll file. Otherwise, the RDP Wrapper may become unstable or not start at all.
You can download the RDP Wrapper from the GitHub repository https://github.com/binarymaster/rdpwrap/releases (the latest available version of the RDP Wrapper Library is v1.6.2). The project hasn’t been updated since 2017, but it can be used in all new builds of Windows 10 and 11. To use the wrapper on modern versions of Windows, simply update the rdpwrap.ini configuration file.
RDP Wrapper is detected as a potentially dangerous program by most antivirus scanners. For example, it is classified as PUA:Win32/RDPWrap (Potentially Unwanted Software) with a low threat level by the built-in Microsoft Defender antivirus. If your antivirus settings are blocking the RDP Wrapper from starting, you will need to add it to the exceptions.
The RDPWrap-v1.6.2.zip archive contains some files:
- RDPWinst.exe — used to install/uninstall an RDP wrapper library;
- RDPConf.exe — RDP Wrapper configuration tool;
- RDPCheck.exe —an RDP check tool (Local RDP Checker);
- install.bat, uninstall.bat, update.bat — batch files to install, uninstall, and update RDP Wrapper.
To install RDPWrap, run the install.bat file as an administrator. The program is installed in the C:\Program Files\RDP Wrapper directory.
Run RDPConfig.exe when the installation is complete.
Most likely, immediately after installation, the tool will show that the RDP wrapper is running (Installed, Running, Listening), but not working. Note the red [not supported] warning. It reports that this version of Windows 10 22H2 (ver. 10.0.19041.1949) is not supported by the RDPWrapper.
This is because the rdpwrap.ini configuration file does not contain settings for your Windows version (build). +
✅ Download the latest version of rdpwrap.ini here https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini
Manually copy the contents of this page into the C:\Program Files\RDP Wrapper\rdpwrap.ini file. Or download the INI file using the PowerShell cmdlet Invoke-WebRequest (you must first stop the Remote Desktop service):
Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"
You can create a scheduled task to check for changes to rdpwrap.ini and update it automatically.
This screenshot shows that the latest version of the rdpwrap.ini file (Updated=2023-06-26) is used on the computer.
Restart your computer and run the RDPConfig.exe tool. Check that all items in the Diagnostics section are green and that the [Fully supported] message is displayed. The RDP wrapper started successfully on Windows 11 22H2 in my case.
Now try to establish several concurrent RDP sessions with this computer under different user accounts (use your favorite RDP client: mstsc.exe, RDCMan, mRemoteNG, etc).
You can check that two (or more) RDP sessions are active on the computer at the same time by using the command:
qwinsta
rdp-tcp#0 user1 1 Active rdp-tcp#1 user2 2 Active
The RDPWrap tool is supported in all Windows editions, so you can build your own terminal (RDS) server on any Windows device. So you can turn any version of Windows client into a full-featured terminal server.
The following options are available in the RDP Wrapper:
- Enable Remote Desktop
- RDP Port —change the default remote desktop port number (TCP 3389)
- Hide users on logon screen – allow hiding the list of users from the Windows Logon Screen;
- Single session per user — allow several concurrent RDP sessions under the same user account. This option sets the fSingleSessionPerUser registry value to 0 (
HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser). This parameter is also configured through the GPO option Restrict Remote Desktop Services to a single Remote Desktop Services session under Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections; - The Session Shadowing Mode allows you to configure the remote control (shadow) connection mode to the RDP users’ desktops
RDP Wrapper Not Working on Windows
In some cases, the RDP Wrapper may not work as you expect it to and you may not be able to use more than one RDP connection on Windows.
The termsrv.dll file version can be updated during Windows Updates installation. If the description for your version of Windows is missing from the rdpwrap.ini file, then the RDP Wrapper will not be able to apply the necessary settings. In this case, the status [not supported]. will be displayed in the RDP Wrapper Configuration window.
✅ In this case, you must update the rdpwrap.ini file as described above.
If RDP Wrapper does not work after updating the rdpwrap.ini file, try to open the rdpwrap.ini file and look for the section for your version of Windows.
How to understand if your Windows version is supported in rdpwrapper config?
The screenshot below shows that for my version of Windows 11 (10.0.22621.317) there are two sections of settings:
[10.0.22621.317] ... [10.0.22621.317-SLInit] ...
If there is no section in the rdpwrap configuration file for your version of Windows, try searching the web for the rdpwrap.ini file. Add the configuration settings you found to the end of the file.
If the RDP Wrapper does not work after you install security updates or upgrade the Windows build, check that there is no Listener state: Not listening warning in the RDPWrap Diagnostics section.
Try updating the rdpwrap.ini file, and then reinstalling the rdpwrapper service:
rdpwinst.exe -u
rdpwinst.exe -i
It can happen that when you try to make a second RDP connection as a different user, you will get an error message:
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.
In this case, you can use the local Group Policy Editor (gpedit.msc) to enable the “Limit number of connections” option under Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections section. Increase the ‘RD maximum connection allowed’ value to 999999.
Restart your computer to update the local Group Policy and apply the settings.
Patch the Termsrv.dll to Enable Multiple Remote Desktop Sessions
To remove the limit on the number of concurrent RDP user connections in Windows without using rdpwrapper, you can replace the original termsrv.dll file. This is the main library file used by the Remote Desktop Service. The file is located in the C:\Windows\System32 directory.
It is advisable to make a backup copy of the termsrv.dll file before editing or replacing it. This will help you to revert to the original version of the file if necessary. Open an elevated command prompt and run the command:
copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
Then you need to take ownership of the termsrv.dll file. To change a file’s owner from TrustedInstaller to the local Administrators group, use the command:
takeown /F c:\Windows\System32\termsrv.dll /A
SUCCESS: The file (or folder): c:\Windows\System32\termsrv.dll now owned by the administrators group
Now use the icacls.exe tool to grant Full Control permissions to the termsrv.dll file for the local Administrators group:
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files.
Now you need to stop the Remote Desktop service (TermService) using the services.msc console or with the command:
net stop TermService
It also stops the Remote Desktop Services UserMode Port Redirector service.
Run the winver command or the following PowerShell command to find your Windows build number:
Get-ComputerInfo | select WindowsProductName, WindowsVersion
In my case, Windows 10 build 22H2 is installed.
Then open the termsrv.dll file using any HEX editor (for example, Tiny Hexer). Depending on the build of Windows you are using, you will need to find and replace the string according to the table below:
| Windows build | Find the string | Replace with |
| Windows 11 22H2 | 39 81 3C 06 00 00 0F 84 75 7A 01 00 |
B8 00 01 00 00 89 81 38 06 00 00 90 |
| Windows 10 22H2 | 39 81 3C 06 00 00 0F 84 85 45 01 00 | |
| Windows 11 21H2 (RTM) | 39 81 3C 06 00 00 0F 84 4F 68 01 00 | |
| 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 cannot edit termsvr.dll file directly from the system32 folder. Copy it to your desktop and replace the original file after modifying it.
For example, my build of Windows 10 x64 is 22H2 19045.2006 (termsrv.dll file version is 10.0.19041.1949). Open the termsrv.dll file in Tiny Hexer, then find the text:
39 81 3C 06 00 00 0F 84 75 7A 01 00
and replace it with:
B8 00 01 00 00 89 81 38 06 00 00 90
Save the file and start the TermService.
If something goes wrong and you experience some problems with the Remote Desktop service, stop the service and replace the modified termsrv.dll file with the original version:
copy termsrv.dll_backup c:\Windows\System32\termsrv.dll
To avoid manually editing the termsrv.dll file with a HEX editor, you can use the following PowerShell script to automatically patch the termsrv.dll file. The PowerShell script code is available in my GitHub repository at the following link:
https://github.com/maxbakhub/winposh/blob/main/termsrv_rdp_patch.ps1
This script was written for the Windows PowerShell version and does not work in modern PowerShell Core.
👍 The advantage of the method of enabling multiple RDP sessions in Windows 10 or 11 by replacing the termsrv.dll file is that antivirus software will not react to it (unlike RDPWrap, which is detected by many antivirus products as a malware/hack tool/trojan).
👎The disadvantage of this is that you will have to manually edit the file each time you update the Windows build (or if the monthly cumulative patches update the version of termsrv.dll).
Multiple Concurrent RDP Connections in Windows 10 Enterprise Multi-session
Microsoft has recently released a special edition of the operating system called Windows Enterprise Multi-Session (Previously known as Windows 10 Enterprise for Remote Sessions and Windows 10 Enterprise for Virtual Desktops)
The key feature of this edition is that it supports multiple concurrent RDP user sessions out of the box. Although the Windows multi-session edition is only allowed to be run in Azure VMs, you can install this edition on an on-premises network and use that computer as a terminal server (even though this would be against Microsoft’s licensing policies).
The Enterprise Multi-Session edition is available for both Windows 10 and Windows 11.
Next up, we’re going to show you how to upgrade a Windows 10 Pro edition to Windows 10 Enterprise for Virtual Desktop and use it for multiple RDP users simultaneously.
Open a command prompt and check your current edition of Windows (Professional in this example):
DISM /online /Get-CurrentEdition
Upgrade your edition of Windows 10 from Pro to Enterprise with the command:
changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43
Now install the GVLK key for Windows 10 Enterprise for Remote Sessions:
slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK
Check that your edition of Windows 10 has now changed to ServerRdsh (Windows 10 Enterprise for Virtual Desktops).
Activate your copy of Windows 10 Enterprise Multi-Session edition on your KMS server:
slmgr /skms kms-srv.woshub.local:1688
slmgr /ato
Open the Local GPO Editor (gpedit.msc) and enable Per-User licensing mode in the Set the Remote Desktop licensing mode (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).
You must restart Windows after activation. Now try connecting to the computer using RDP with different user accounts. As you can see, Windows 10 Enterprise multi-session supports simultaneous RDP connections right out of the box.
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
Windows 10 Enterprise for Virtual Desktops 2009 10.0.19041.2728
qwinsta
In this article, we have looked at a number of ways to get rid of the limit on the number of concurrent RDP user connections and run a free terminal server on desktop versions of Windows 10/11. Each method has its own advantages and disadvantages. Which one you choose is up to you.
