ใน Windows 8 และ 8.1 คล้ายกับเวอร์ชัน Client OS ของ Microsoft ก่อนหน้านี้ รองรับเพียง การเชื่อมต่อ RDP เข้ามาพร้อมกันเพียงหนึ่งเซสชัน เท่านั้น หมายความว่ามีเพียงผู้ใช้คนเดียว (หนึ่งเซสชัน) ที่สามารถเชื่อมต่อกับคอมพิวเตอร์ Windows ผ่าน Remote Desktop ได้พร้อมกัน ในกรณีส่วนใหญ่ก็เพียงพอแล้ว แต่บางครั้งอาจต้องการให้ผู้ใช้ระยะไกลหลายคนทำงานพร้อมกันในเซสชันของตนเอง ตัวอย่างที่ดีคือเมื่อคอมพิวเตอร์ถูกใช้เป็น Media Center ซึ่งมีการเล่นวิดีโอในเซสชันคอนโซลของระบบ และคุณต้องการทำงานระยะไกลกับระบบพร้อมกันโดยไม่ interrump การเล่นวิดีโอบนทีวี
เคล็ดลับ การเข้าถึง RDP แบบระยะไกลต้องใช้ Windows 8 เวอร์ชัน Pro หรือ Enterprise เท่านั้น ไม่รองรับในเวอร์ชัน Home
เมื่อพยายามเริ่มเซสชัน RDP ที่สองไปยังคอมพิวเตอร์ที่ใช้ Windows 8.1 / 8 จะมีข้อความแจ้งเตือนว่ามีผู้ใช้คนอื่นลงชื่อเข้าใช้งานในเครื่องอยู่แล้ว และเซสชันนั้นจะต้องถูกปิด
ผู้ใช้อื่นได้ลงชื่อเข้าใช้แล้ว หากคุณดำเนินการต่อ พวกเขาจะถูกตัดการเชื่อมต่อ

เคล็ดลับ ก่อนหน้านี้คุณต้องเปิดใช้งานการเข้าถึง RDP ในคุณสมบัติของคอมพิวเตอร์ที่แท็บ Remote และเพิ่มบัญชีผู้ใช้ที่จำเป็นเข้าไปในกลุ่ม Local Group "Remote Desktop Users" สำหรับ Local Administrators การเข้าถึง RDP แบบระยะไกลจะได้รับอนุญาตโดยอัตโนมัติ หลังจากเปิดใช้งานการเข้าถึง RDP ในคุณสมบัติของระบบ Windows Firewall จะเปิดใช้งานกฎที่อนุญาตการเข้าระบุขาเข้าไปยังพอร์ต TCP 3389 ในเครื่องโดยอัตโนมัติ บางครั้งกฎนี้ควรตรวจสอบด้วยตนเอง
ตัวอย่างเช่น ใน Windows เวอร์ชัน Server รองรับการเชื่อมต่อการจัดการพร้อมกันสองครั้งที่มีเซสชันส่วนบุคคล (ในกรณีของ Terminal RDS Server จำนวนนี้อาจสูงกว่านี้)
อย่างไรก็ตาม คุณสามารถค้นหาแพตช์พิเศษในเว็บที่ช่วยให้ข้ามข้อจำกัดนี้ได้ เนื่องจากแพตช์นี้ ผู้ใช้หลายคนสามารถเชื่อมต่อกับคอมพิวเตอร์ Windows 8 / Windows 8.1 ผ่าน RDP พร้อมกันได้
สำคัญ การใช้แพตช์นี้ละเมิดข้อตกลงใบอนุญาตและเงื่อนไขการใช้งานผลิตภัณฑ์ของ Microsoft ดังนั้นจึงขอให้ดำเนินการทั้งหมดที่อธิบายไว้ด้านล่างนี้ด้วยความเสี่ยงของตัวเอง
แพตช์นี้จะแทนที่ไฟล์ระบบต้นฉบับ %SystemRoot%\System32\termsrv.dll (ไลบรารีที่ใช้โดย Remote Desktop Services)
นี่คือลิงก์ไปยังเวอร์ชันไลบรารีที่แก้ไขแล้ว:
- Windows 8 – windows8-termsrv.dll.zip
- Windows 8.1 — windows8.1-termsrv.dll.zip
ก่อนที่จะแทนที่ไลบรารี ให้สำรอง termsrv.dll ต้นฉบับโดยใช้คำสั่ง:
copy c:\Windows\System32\termsrv.dll termsrv.dll_old |

ตอนนี้หากมีอะไรผิดพลาด คุณสามารถกลับสู่การตั้งค่าเดิมได้ตลอดเวลาโดยการแทนที่ไฟล์ปัจจุบันด้วย termsrv.dll_old ต้นฉบับ
ดาวน์โหลดคลังข้อมูลที่มีไลบรารี termsrv ที่ผ่านการแพตช์แล้วสำหรับเวอร์ชัน Windows ของคุณ
ใน Windows 8 ก่อนอื่นคุณต้องเปลี่ยนค่าของคีย์ต่อไปนี้ใน HKLM\System\CurrentControlSet\Control\Terminal Server\:
- fDenyTSConnections (DWORD) — 0 (คีย์นี้อนุญาตให้เปิดใช้งาน RDP บนคอมพิวเตอร์ของคุณ)
- fSingleSessionPerUser (DWORD) — 0

การดำเนินการเดียวกันนี้สามารถทำได้จาก Command Prompt:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f |
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f |
จากนั้นไปที่ C:\Windows\System32 ค้นหาไฟล์ termsrv.dll และเปิดคุณสมบัติของมัน

โดยค่าเริ่มต้น เจ้าของไฟล์นี้คือ TrustedInstaller และแม้แต่ Administrator ก็ไม่มีสิทธิ์แทนที่ไฟล์นี้

ไปที่แท็บ Security และคลิกปุ่ม Edit ในรายการการเข้าถึง ให้ค้นหากลุ่ม Local Administrators และให้สิทธิ์ Full Control ต่อไฟล์นี้ แล้วบันทึกการเปลี่ยนแปลง

ขั้นตอนถัดไปก่อนแทนที่ไฟล์ไลบรารี คือเปิดคอนโซลการจัดการบริการ (services.msc) และหยุด Remote Desktop Services

คัดลอก termsrv.dll จากคลังข้อมูลที่ดาวน์โหลดสำหรับเวอร์ชัน Windows ของคุณไปยัง %SystemRoot%\System32\ (พร้อมการแทนที่)
หมายเหตุ คลังข้อมูลสำหรับ Windows 8.1 มีไฟล์สองไฟล์: 32_termsrv.dll และ 64_termsrv.dll สำหรับ Windows 8.1 เวอร์ชัน 32-bit และ 64-bit ให้แตกไฟล์และเปลี่ยนชื่อไฟล์สำหรับเวอร์ชันของระบบของคุณเป็น termsrv.dll
หลังจากแทนที่ไฟล์แล้ว ให้เริ่ม Remote Desktop Services ใหม่และลองสร้างเซสชัน RDP สองเซสชันกับคอมพิวเตอร์ที่ผ่านการแพตช์จากบัญชีที่ต่างกัน หากคุณทำทุกอย่างถูกต้อง ควรจะมีเซสชัน Remote Desktop สองเซสชันที่แยกจากกันเปิดขึ้น

เคล็ดลับ คุณอาจต้องรีสตาร์ทคอมพิวเตอร์
หมายเหตุสำคัญ! การใช้ termsrv.dll เวอร์ชันที่ผ่านการแพตช์มีข้อเสียหลายประการ ข้อหลักคือ เมื่อคุณติดตั้งอัปเดตความปลอดภัยถัดไปสำหรับ Windows 8.1 / 8 ไฟล์นี้อาจถูกแทนที่ ในกรณีนี้ คุณจะต้องแพตช์ไฟล์ใหม่ด้วยตัวเองโดยใช้ HEX Editor หรือคุณสามารถค้นหาไฟล์ termsrv.dll ที่แก้ไขแล้วสำหรับบิลด์ Windows ของคุณในอินเทอร์เน็ต
ในฐานะโซลูชันที่เสถียรเพื่อป้องกันไม่ให้ไฟล์ termsrv.dll ถูกแทนที่ด้วย Windows Updates คุณควรใช้โซลูชัน Open Source คือ RDP Wrapper Library (พร้อมใช้งานบน GitHub) ซึ่งไม่ได้แทนที่ termsrv.dll แต่เป็นเลเยอร์ระหว่าง Terminal Services และ SCM ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ RDP Wrapper Library สามารถหาได้ ที่นี่