В ОС Windows 8 / 8.1, як і попередніх версіях клієнтських ОС Microsoft, підтримується тільки одне одночасне входить RDP-підключення. Це означає що до комп’ютера Windows 8 через віддалений робочий стіл може одночасно підключитися тільки один користувач (одна сесія), локальна або віддалена. У більшості випадків цього достатньо, але іноді хотілося б мати можливість одночасної роботи відразу декількох користувачів у власних сесіях. Хорошим прикладом може бути комп’ютер в ролі Media Center, коли в консольної сесії відтворюється відео, і одночасно необхідно віддалено попрацювати з системою без переривання відео на TV.

Порада. Віддалений RDP доступ не працює в домашніх (Home) редакціях Windows, потрібно редакції Pro або Enterprise.

При спробі відкрити другу RDP-сесію до комп’ютера з Windows 8, з’являється повідомлення про те, що вже в системі вже залягання інший користувач і його сесія може бути завершена.

Увійшов інший користувач. Якщо продовжити, їх буде відключено.

Увійшов інший користувач. Якщо продовжити, їх буде відключено.

Порада. Попередньо у властивостях комп’ютері на вкладці Віддалений доступ (Remote) потрібно включити RDP доступ і додати облікові записи потрібних користувачів в локальну групу Remote Desktop Users. Локальним адміністраторам віддалений RDP доступ дозволений за замовчуванням. Після включення RDP доступу в властивості системи, Windows Firewall автоматично включає правила, що дозволяє вхідний трафік на порт 3389. Іноді наявність цього правила слід перевірити вручну.

Так, наприклад, в серверній версії Windows підтримуються два одночасних адміністративних підключення до індивідуальних сесіями (в разі організації на базі Windows Server термінального сервера RDS, це число може бути ще більшим).

Проте, на просторах інтернету можна знайти спеціальний патч, що дозволяє обійти це обмеження. Завдяки цьому патч кілька користувачів зможуть одночасно підключитися по RDP до комп’ютера з Windows 8 / Windows 8.1.

важливо. Використання даного патча, по суті, є порушенням ліцензійної угоди і умов використання продуктів Microsoft. Тому всі описані нижче операції ви виконуєте на свій ризик.

Отже, патч передбачає собою заміну оригінального системного файлу % SystemRoot% System32 termsrv.dll (Бібліотека, яка використовується службою Remote Desktop Services).

Посилання на модифіковану версію бібліотеку termsrv.dll:

Перед заміною системної бібліотеки створимо резервну копію файлу termsrv.dll командою:

copy c:WindowsSystem32termsrv.dll termsrv.dll_old

Скопіювати оригінальний termsrv.dllТепер, якщо щось піде не так, завжди можна повернутися до початкової конфігурації, замінивши поточний файл оригінальним termsrv.dll_old.

Скачайте архів з бібліотекою для своєї версії Windows.

У Windows 8 попередньо потрібно змінити значення наступних ключів в гілці реєстру HKLM System CurrentControlSet Control Terminal Server :

fSingleSessionPerUser зняти обмеження на одну сесію для користувачаЦю ж операцію можна виконати з командного рядка:

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

Потім переходимо в каталог C: Windows System32, Знаходимо файл termsrv.dll і відкриваємо його властивості.

Властивості файлу termsrv.dllЗа замовчуванням, власником цього файлу є TrustedInstaller і навіть у адміністратора немає прав на його заміну.TrustedInstaller - власник файлу termsrv.dll

Перейдемо на вкладку Безпека і натиснемо кнопку Редагувати. У списку доступу знайдіть групу локальних адміністраторів і надайте їй повні права на файл (Повний контроль) І збережіть зміни.

NTFS дозволу на файл termsrv.dllНаступний крок перед заміною файлу бібліотеки, відкрити консоль управління службами (services.msc) І зупинити службу Послуги віддаленого робочого столу.

Зупинити служби Remote Desktop ServicesСкопіюємо файл termsrv.dll з завантаженого архіву для своєї версії Windows в каталог % SystemRoot% System32 (З заміною).

Примітка. Архів для Windows 8.1 містить два файли 32_termsrv.dll і 64_termsrv.dll, Для 32-х і 64-х бітної версії Windows 8.1 відповідно. Розпакуйте архів і перейменуйте файл для своєї версії системи в termsrv.dll

Після заміни файлу запустіть службу Remote Desktop Services і спробуйте створити дві RDP сесії з пропатченний машиною під різними обліковими записами. Якщо ви все зробили правильно, повинні відкритися дві незалежні сесії віддалених робочих столів.

Windows 8 кілька незалежних RDP сесій під різними користувачами

Порада. Можливо буде потрібно перезавантаження комп’ютера.

важливо! Використання пропатченний версії termsrv.dll має ряд недоліків. Головний з яких – при установці чергового оновлення Windows 8.1 / 8 цей файл може бути замінений. Відповідно, доведеться самостійно за допомогою HEX редактора патчить новий файл, або шукати в інтернеті готовий модифікований файл для вашого билда Windows.

В якості вирішення, стійкого до заміни файлу termsrv.dll при установці оновлень Windows, слід використовувати відкрите Open Source рішення Бібліотека обгортки RDP (Доступний на GitHub), яка не править файл termsrv.dll, і є прошарком між службою Terminal Services і SCM. Детальніше про використання RDP Wrapper Library можна почитати тут.

Leave a Reply

Your email address will not be published. Required fields are marked *