Wiele jednoczesnych sesji użytkowników RDP w systemie Windows 10

Użytkownicy zdalni mogą łączyć się ze swoimi komputerami z systemem Windows 10 za pośrednictwem usług pulpitu zdalnego (RDP) w wersjach Pro i Enterprise (ale nie w wersji Home / Single Language). Istnieje jednak ograniczenie liczby jednoczesnych sesji RDP - tylko jeden zdalny użytkownik może pracować jednocześnie. Jeśli spróbujesz otworzyć drugą sesję RDP, pojawi się ostrzeżenie z prośbą o rozłączenie pierwszej sesji użytkownika.

Inny użytkownik jest zalogowany. Jeśli będziesz kontynuować, zostanie wyłączone. Nadal chcesz się zalogować?

W wersji angielskiej ostrzeżenie to:

Inny użytkownik jest zalogowany. Jeśli będziesz kontynuować, zostaną rozłączone. Czy mimo to chcesz się zalogować??

Rozważ główne ograniczenia korzystania z usługi pulpitu zdalnego w systemie Windows 10 (i wszystkich poprzednich wersjach systemu Windows na komputer):

  1. Możesz połączyć się zdalnie przez RDP tylko ze starszymi edycjami systemu Windows (Professional i nowszymi). W wydaniach domowych (Home) dostęp RDP jest zablokowany.
  2. Obsługiwane jest tylko jedno jednoczesne połączenie RDP. Podczas próby rozpoczęcia drugiej sesji RDP użytkownik jest monitowany o zakończenie istniejącego połączenia.
  3. Jeśli użytkownik pracuje na konsoli komputera (lokalnie), wówczas podczas zdalnego połączenia przez RDP jego sesja lokalna zostanie rozłączona (zablokowana). Odwrotna jest również prawda: zdalna sesja RDP zostaje przymusowo zakończona, jeśli użytkownik zaloguje się do konsoli systemowej.

W rzeczywistości ograniczenie liczby jednoczesnych połączeń RDP nie jest techniczne, ale raczej licencjonowane. Dlatego Microsoft zabrania tworzenia terminal Serwer RDP oparty na stacji roboczej do jednoczesnej obsługi kilku użytkowników. Logika firmy Microsoft jest prosta: jeśli potrzebujesz serwera terminali - kup licencję Windows Server, RDS CAL, zainstaluj i skonfiguruj rolę hosta sesji usług pulpitu zdalnego (RDSH).

Chociaż z technicznego punktu widzenia każda edycja systemu Windows z wystarczającą ilością pamięci RAM może obsługiwać jednoczesne działanie kilkudziesięciu zdalnych użytkowników. Średnio 150-200 MB pamięci jest wymagane na sesję RDP użytkownika bez uwzględnienia uruchomionych aplikacji. Tj. teoretycznie maksymalna liczba równoczesnych sesji RDP jest ograniczona tylko zasobami komputerowymi.

Przyjrzymy się dwóm sposobom wyłączenia ograniczenia liczby jednoczesnych połączeń RDP z Windows 10: za pomocą aplikacji Rdp Owijarka i przy użyciu edycji plików warunki.dll.

Treść

  • Opakowanie RDP: zezwól na wiele sesji RDP w systemie Windows 10
  • Opakowanie RDP nie działa w systemie Windows 10
  • Modyfikacja pliku termsrv.dll w celu usunięcia ograniczeń RDP w systemie Windows 10

Jest ważne. Początkowo, w pierwszej wersji tego artykułu, główną działającą opcją usunięcia ograniczenia liczby jednoczesnych połączeń RDP użytkowników w systemie Windows był sposób na modyfikację i zastąpienie pliku warunki.dll w folderze% SystemRoot% \ System32. Jednak po zainstalowaniu nowej wersji systemu Windows 10 lub niektórych aktualizacji zabezpieczeń plik ten jest aktualizowany.

W rezultacie za każdym razem musisz edytować ten plik heksadecymalny za pomocą edytora, co jest dość żmudne. Dlatego narzędzie należy uznać za główny sposób organizacji bezpłatnego serwera terminali na kliencie Windows 10 Biblioteka opakowań RDP.
Uwaga. Modyfikacje systemu opisane w tym artykule są uważane za naruszenie umowy licencyjnej Windows i możesz je wykonać na własne ryzyko.

Opakowanie RDP: zezwól na wiele sesji RDP w systemie Windows 10

Projekt open source Rdp Owijarka Biblioteka pozwala włączyć konkurencyjne sesje RDP w systemie Windows 10 bez zastępowania pliku termsrv.dll. Ten program działa jako warstwa między Menedżerem sterowania usługami (SCM) a Usługami pulpitu zdalnego. RDPWrap pozwala włączyć nie tylko obsługę wielu równoczesnych sesji RDP, ale także zaimplementować serwer RDP w domowych wydaniach systemu Windows 10. RDP Wrapper nie wprowadza żadnych zmian w pliku termsrv.dll, tylko ładuje termrrv ze zmienionymi parametrami.

Tak więc RDPWrap będzie działał nawet podczas aktualizacji wersji pliku termsrv.dll, co pozwala nie obawiać się aktualizacji systemu Windows.

Jest ważne. Przed zainstalowaniem RDP Wrapper ważne jest, aby upewnić się, że używasz oryginalnej (niepakowanej) wersji pliku termsrv.dll. W przeciwnym razie owijarka RDP może nie działać stabilnie lub może nie uruchomić się wcale..

Możesz pobrać RDP Wrapper z repozytorium GitHub: https://github.com/binarymaster/rdpwrap/releases (najnowsza dostępna wersja RDP Wrapper Library v1.6.2). Sądząc po informacjach na stronie programisty, obsługiwane są wszystkie wersje systemu Windows. Windows 10 jest obsługiwany do 1809 (chociaż w 1909 wszystko działa również dobrze, patrz poniżej).

Archiwum RDPWrap-v1.6.2.zip zawiera kilka plików:

  • Rdpinst.exe -RDP Wrapper Library instalator / deinstalator;
  • RDPConf.exe - Narzędzie do konfiguracji opakowania RDP;
  • Rdpheck.exe - Lokalny kontroler RDP - narzędzie do sprawdzania RDP;
  • zainstaluj.nietoperz, odinstaluj.nietoperz, aktualizacja.nietoperz - pliki wsadowe do instalowania, odinstalowywania i aktualizacji RDP Wrapper.

Aby zainstalować RDPWrap, uruchom plik install.bat z uprawnieniami administratora.

Po zakończeniu instalacji uruchom RDPConfig.exe. Sprawdź to w sekcji Diagnostyka wszystkie elementy są zielone.

Uruchom RDPCheck.exe i spróbuj otworzyć drugą sesję RDP (lub połącz kilka sesji RDP ze zdalnych komputerów) Wszystko się udało! Teraz twój system Windows 10 pozwala dwóm zdalnym użytkownikom jednocześnie łączyć się przez RDP.

Narzędzie RDPWrap jest obsługiwane w wersjach systemu Windows: Windows Vista, Windows 7, Windows 8, Windows 8.1 i Windows 10. W związku z tym serwer terminali można utworzyć z dowolnej wersji systemu Windows klienta.

Do ciekawych funkcji RDP Wrapper należą:

  • Opcja Ukryj użytkownicy na zaloguj się ekran pozwala ukryć listę użytkowników na ekranie powitalnym;
  • Podczas wyłączania opcji Single sesja na użytkownik - dozwolonych jest wiele jednoczesnych sesji RDP w ramach jednego konta (ustawienie rejestru jest ustawione fSingleSessionPerUser = 0 w gałęzi HKLM \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ fSingleSessionPerUser).
  • Rdp Port - Możesz zmienić numery portów pulpitu zdalnego ze standardowego TCP 3389 na dowolny inny;
  • W dziale Tryb cieniowania sesji możesz wybrać tryb cienia do łączenia się z pulpitem użytkowników systemu Windows 10.

Opakowanie RDP nie działa w systemie Windows 10

Zastanów się, co zrobić, jeśli nie można użyć kilku połączeń RDP w systemie Windows 10 z zainstalowanym narzędziem RDP Wrapper ...

W moim przypadku narzędzie Rdconfig w oknie statusu pokazał [nieobsługiwane]. Problem polegał na tym, że na komputerze nie było bezpośredniego dostępu do Internetu i program nie mógł pobrać najnowszej wersji pliku rdpwrap.ini z GitHub z ustawieniami najnowszych wersji systemu Windows (patrz poniżej, jak ręcznie zaktualizować rdpwrap.ini).

Pobierz plik rdpwrap.ini z zasobu programisty i umieść go w katalogu instalacyjnym (C: \ Program Files \ RDP Wrapper \ rdpwrap.ini). Uruchom ponownie usługę TermService i upewnij się, że [nieobsługiwane] jest zmienione na [w pełni obsługiwane].

Jeśli narzędzie RDP Wrapper nie działa po aktualizacji pliku rdpwrap.ini, być może masz nową wersję systemu Windows 10. Spróbuj pobrać gotowy plik ini dla swojej wersji systemu Windows 10 tutaj (https://github.com/fre4kyC0de/rdpwrap) lub dla systemu Windows 10 1909 (10.0.18363.476) tutaj - rdpwrap_10.0.18363.476_1909.zip.

Ponadto w przypadku problemów z RDPWrap możesz otworzyć oddział na https://github.com/stascorp/rdpwrap/issues. Tutaj możesz znaleźć aktualne pliki rdpwrap.ini do momentu aktualizacji w oficjalnym repozytorium.

Aby zastąpić plik rdpwrap.ini:

  1. Zatrzymaj usługę get-service termservice | stop-service
  2. Zamień plik rdpwrap.ini w katalogu C: \ Program Files \ RDP Wrapper \;
  3. Uruchom ponownie komputer;
  4. Po ponownym uruchomieniu uruchom RDPConf i upewnij się, że wszystkie statusy zmieniają kolor na zielony.

Jeśli po zainstalowaniu aktualizacji zabezpieczeń lub po uaktualnieniu kompilacji systemu Windows 10 Wrapper RDP nie działa, sprawdź, czy w sekcji Diagnostyka jest napis Słuchacz stan: Nie słuchanie.

Spróbuj zaktualizować plik ini „C: \ Program Files \ RDP Wrapper \ rdpwrap.ini” za pomocą skryptu update.bat (lub ręcznie) i ponownie zainstaluj usługę:

rdpwinst.exe -u
rdpwinst.exe -i

Zdarza się, że podczas próby drugiego połączenia RDP pod innym użytkownikiem zobaczysz napis:

Liczba dozwolonych połączeń z tym komputerem jest ograniczona, a wszystkie połączenia są już w użyciu. Spróbuj połączyć się później lub skontaktuj się z administratorem systemu..

Liczba połączeń z tym komputerem jest ograniczona i wszystkie połączenia są obecnie w użyciu. Spróbuj połączyć się później lub skontaktuj się z administratorem systemu.

W takim przypadku skorzystaj z edytora zasad grupy gpedit.msc w sekcji Konfiguracja komputera -> Szablony administracyjne -> Składniki Windows -> Usługi pulpitu zdalnego -> Host sesji usług pulpitu zdalnego -> Połączenia włącz zasady „Ogranicz liczbę połączeń”I zmień jego wartość na 999999 (Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Usługi pulpitu zdalnego -> Host sesji usług pulpitu zdalnego -> Połączenia-> Ogranicz liczbę połączeń).

Uruchom ponownie komputer, aby zastosować ustawienia..

Modyfikacja pliku termsrv.dll w celu usunięcia ograniczeń RDP w systemie Windows 10

Aby usunąć ograniczenie liczby połączeń RDP użytkowników w systemie Windows 10 bez korzystania z rdpwraper, możesz to zrobić zastąp plik termsrv.dll. To jest plik biblioteki używany przez Usługi pulpitu zdalnego. Plik znajduje się w katalogu C: \ Windows \ System32.

Przed edycją lub wymianą pliku termsrv.dll zaleca się utworzenie kopii zapasowej. Pomoże Ci to w razie potrzeby, możesz powrócić do oryginalnej wersji pliku. Uruchom wiersz poleceń z uprawnieniami administratora i uruchom polecenie:

skopiuj c: \ Windows \ System32 \ termsrv.dll termsrv.dll_backup

Przed edycją pliku termsrv.dll musisz zostać jego właścicielem i dać grupie administratora pełne prawa do niego. Najłatwiej to zrobić z wiersza poleceń. Aby zmienić właściciela pliku z TrustedInstaller na grupę lokalnych administratorów za pomocą polecenia:

takeown / F c: \ Windows \ System32 \ termsrv.dll / A

Powinien pojawić się komunikat: „SUKCES: Plik (lub folder): „c: \ Windows \ System32 \ termsrv.dll” jest teraz własnością grupy administratorów ”.

Teraz przyznaj lokalnej grupie administratorów pełne prawa do pliku termsrv.dll (pełna kontrola):

icacls c: \ Windows \ System32 \ termsrv.dll / grant Administratorzy: F. (lub Administratorzy w rosyjskiej wersji systemu Windows). Powinien pojawić się komunikat: „przetworzony plik: c: \ Windows \ System32 \ termsrv.dll Pomyślnie przetworzono 1 pliki; Przetwarzanie 0 plików nie powiodło się„.

Teraz musisz zatrzymać usługę pulpitu zdalnego (TermService) z konsoli services.msc lub z wiersza poleceń:

Net stop TermService

Przed przejściem dalej musisz znać swoją wersję (kompilację) systemu Windows 10. Najłatwiej to zrobić za pomocą następującego polecenia programu PowerShell:

Get-ComputerInfo | wybierz WindowsProductName, WindowsVersion

W moim przypadku zainstalowano kompilację systemu Windows 10 1909.

Następnie otwórz plik termsrv.dll za pomocą dowolnego edytora HEX (na przykład Tiny Hexer). W zależności od wersji musisz znaleźć i zastąpić linię:

Wersja Windows 10Znajdź ciągZamień na
Windows 10 x64 190939 81 3C 06 00 00 0F 84 5D 61 01 00

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

Windows 10 x64 190339 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 180939 81 3C 06 00 00 0F 84 3B 2B 01 00

Windows 10 x64 18038B 99 3C 06 00 00 8B B9 38 06 00 00

Windows 10 x64 170939 81 3C 06 00 00 0F 84 B1 7D 02 00

Na przykład w przypadku pierwszej edycji systemu Windows 10 x64 RTM 10240 (wersja pliku termsrv.dll to 10.0.10240.16384) musisz otworzyć plik termsrv.dll w Tiny Hexer. Następnie znajdź linię:

39 81 3C 06 00 00 0F 84 73 42 02 00

I zamień na:

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

Zapisz plik i uruchom TermService.

Gotowy poprawiony plik termsrv.dll dla systemu Windows 10 Pro RTM x64 można pobrać tutaj: termsrv_windows_10_x64_10240.zip

Jeśli coś poszło nie tak i występują problemy z usługą RDP, zatrzymaj usługę i zastąp zmodyfikowany plik termsrv.dll oryginalną wersją:

skopiuj termsrv.dll_backup c: \ Windows \ System32 \ termsrv.dll

Zaletą metody włączania wielu sesji RDP w systemie Windows 10 poprzez zastąpienie pliku termsrv.dll jest to, że antywirusy nie reagują na to. W przeciwieństwie do narzędzia RDPWrap, które wiele programów antywirusowych uważa za złośliwe / HackTool / Trojan. Główną wadą jest to, że będziesz musiał ręcznie edytować plik za każdym razem, gdy uaktualniasz kompilację systemu Windows 10 (lub podczas aktualizacji wersji pliku termsrv.dll w ramach comiesięcznych aktualizacji zbiorczych).