Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

Remote Desktop Protocol (RDP) เป็นโปรโตคอลเฉพาะที่พัฒนาโดย Microsoft ซึ่งให้ผู้ใช้กับอินเทอร์เฟซกราฟิกเพื่อเชื่อมต่อกับคอมพิวเตอร์อื่นผ่านการเชื่อมต่อเครือข่าย ผู้ใช้ใช้ซอฟต์แวร์ RDP client สำหรับวัตถุประสงค์นี้ ในขณะที่คอมพิวเตอร์อีกเครื่องต้องรันซอฟต์แวร์ RDP server ในบทความนี้ เราจะสำรวจวิธี แก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไป บน Windows 11/10

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

แก้ไขปัญหาการเชื่อมต่อ Remote Desktop

ลองขั้นตอนการแก้ไขปัญหาที่ระบุไว้ด้านล่าง เมื่อไคลเอนต์ Remote Desktop ไม่ทำงาน หรือไม่สามารถเชื่อมต่อกับ Remote Desktop ได้ แต่ไม่ให้ข้อความหรืออาการอื่นๆ ที่ช่วยระบุสาเหตุ

1] ตรวจสอบสถานะโปรโตคอล RDP บนคอมพิวเตอร์โลคัล

คุณจะต้องเปิดใช้งาน Remote Desktop เพื่อตรวจสอบและเปลี่ยนสถานะของโปรโตคอล RDP บนคอมพิวเตอร์โลคัล คุณยังสามารถเปิดใช้งาน Remote Desktop โดยใช้ Command Prompt หรือ PowerShell ได้

2] ตรวจสอบสถานะโปรโตคอล RDP บนคอมพิวเตอร์ระยะไกล

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

เพื่อตรวจสอบและเปลี่ยนสถานะของโปรโตคอล RDP บนคอมพิวเตอร์ระยะไกล ให้ใช้การเชื่อมต่อ Network Registry

เนื่องจากนี่เป็นการดำเนินการ Registry จึงแนะนำให้คุณสำรอง Registry หรือสร้าง System Restore Point เป็นมาตรการป้องกันก่อน แล้วคุณสามารถดำเนินการต่อได้ดังนี้:

  • กด Windows + R เพื่อเปิดกล่องโต้ตอบ Run
  • ในกล่อง Run พิมพ์ regedit แล้วกด Enter เพื่อเปิด Registry Editor
  • ใน Registry Editor เลือก File แล้วเลือก Connect Network Registry
  • ในกล่องโต้ตอบ Select Computer ให้ป้อนชื่อของคอมพิวเตอร์ระยะไกล
  • เลือก Check Names
  • เลือก OK
  • ต่อไป ให้ไปที่พาธ Registry key ด้านล่าง:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
  • ที่ตำแหน่งนั้น ด้านขวา ให้ดับเบิลคลิกที่ Key fDenyTSConnections เพื่อแก้ไขคุณสมบัติ
  • เพื่อเปิดใช้งาน RDP ให้ตั้งค่า Value data ของ fDenyTSConnections จาก 1 เป็น 0

ค่า 0 หมายถึง RDP เปิดใช้งาน ส่วนค่า 1 หมายถึง RDP ปิดใช้งาน

เกี่ยวข้อง: ตัวเลือก Remote Desktop เป็นสีเทาบน Windows 10

3] ตรวจสอบว่า Group Policy Object (GPO) กำลังบล็อก RDP บนคอมพิวเตอร์โลคัลหรือไม่

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

GPO อาจทับการตั้งค่าระดับคอมพิวเตอร์ หากคุณไม่สามารถเปิด RDP ใน User Interface ได้ หรือค่า fDenyTSConnections กลับเป็น 1 หลังจากที่คุณเปลี่ยนมันไปแล้ว

เพื่อตรวจสอบการกำหนดค่า Group Policy บนคอมพิวเตอร์โลคัล ให้ทำดังนี้:

  • กด Windows + R เพื่อเปิดกล่องโต้ตอบ Run
  • ในกล่อง Run พิมพ์ cmd แล้วกด Ctrl + Shift + Enter เพื่อเปิด Command Prompt ในโหมด Admin/Elevated
  • ในหน้าต่าง Command Prompt พิมพ์คำสั่งด้านล่างและกด Enter
gpresult /H c:\gpresult.html
  • เมื่อคำสั่งทำงานเสร็จ ให้เปิด gpresult.html
  • ใน Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections ให้หา Policy Allow users to connect remotely by using Remote Desktop Services

ถ้าการตั้งค่าของ Policy นี้เป็น Enabled Group Policy ไม่ได้บล็อกการเชื่อมต่อ RDP ถ้าการตั้งค่าเป็น Disabled ให้ตรวจสอบ Winning GPO นี่คือ GPO ที่บล็อกการเชื่อมต่อ RDP

4] ตรวจสอบว่า GPO กำลังบล็อก RDP บนคอมพิวเตอร์ระยะไกลหรือไม่

เพื่อตรวจสอบการกำหนดค่า Group Policy บนคอมพิวเตอร์ระยะไกล ให้รันคำสั่งด้านล่างใน Elevated CMD prompt:

gpresult /S <computer name> /H c:\gpresult-<computer name>.html

ไฟล์ที่คำสั่งนี้สร้าง (gpresult-<computer name>.html) ใช้รูปแบบข้อมูลเดียวกับเวอร์ชันคอมพิวเตอร์โลคัล (gpresult.html)

5] แก้ไข GPO ที่บล็อก

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

คุณสามารถแก้ไขการตั้งค่าเหล่านี้ใน Group Policy Object Editor (GPE) และ Group Policy Management Console (GPMC)

เพื่อแก้ไข Policy ที่บล็อก ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้:

ใช้ GPE ให้ทำดังนี้:

  • กด Windows + R เพื่อเปิดกล่องโต้ตอบ Run
  • ในกล่อง Run พิมพ์ gpedit.msc แล้วกด Enter เพื่อเปิด Group Policy Editor
  • ภายใน Local Group Policy Editor ใช้แผงซ้ายเพื่อไปที่พาธด้านล่าง:
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • ที่ตำแหน่งนั้น ด้านขวา ให้ดับเบิลคลิก Allow users to connect remotely by using Remote Desktop Services เพื่อแก้ไขคุณสมบัติ
  • ตั้งค่า Policy เป็น Enabled หรือ Not configured
  • คลิก Apply > OK และออก
  • บนคอมพิวเตอร์ที่ได้รับผลกระทบ ให้เปิด Command Prompt เป็น Administrator และรันคำสั่งด้านล่าง:
gpupdate /force

ใช้ GPMC ให้ไปที่ Organizational Unit (OU) ที่ Policy ที่บล็อกถูกนำไปใช้กับคอมพิวเตอร์ที่ได้รับผลกระทบ และลบ Policy ออกจาก OU

6] ตรวจสอบสถานะของ RDP Services

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

บนคอมพิวเตอร์โลคัล (Client) และคอมพิวเตอร์ระยะไกล (Target) ทั้งสอง บริการต่อไปนี้ควรทำงานอยู่:

  • Remote Desktop Services (TermService)
  • Remote Desktop Services UserMode Port Redirector (UmRdpService)

บนคอมพิวเตอร์ใดคอมพิวเตอร์หนึ่ง หากบริการใดบริการหนึ่งหรือทั้งสองไม่ได้ทำงาน ให้เริ่มบริการเหล่านั้น

ทำดังนี้:

  • กด Windows + R เพื่อเปิดกล่องโต้ตอบ Run
  • ในกล่อง Run พิมพ์ services.msc แล้วกด Enter เพื่อเปิด Services
  • ในหน้าต่าง Services ให้เลื่อนหาทั้งสองบริการที่กล่าวมา
  • ดับเบิลคลิกที่รายการเพื่อแก้ไขคุณสมบัติ
  • ในหน้าต่าง Properties คลิกปุ่ม Start
  • คลิก OK

คุณยังสามารถใช้ PowerShell จัดการบริการในท้องถิ่นหรือระยะไกลได้ (หากคอมพิวเตอร์ระยะไกลตั้งค่ารับ Remote PowerShell cmdlets)

7] ตรวจสอบสถานะของ RDP Listener

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

กระบวนการนี้ใช้ PowerShell เพราะ Cmdlets เดียวกันทำงานได้ทั้งในท้องถิ่นและระยะไกล สำหรับคอมพิวเตอร์โลคัล คุณสามารถใช้ Command Prompt ที่มีสิทธิ์ Admin ได้เช่นกัน

เพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกล ให้ทำดังนี้:

  • กด Windows + X เพื่อเปิด Power User Menu
  • กด A บนคีย์บอร์ดเพื่อเปิด PowerShell ในโหมด Admin/Elevated
  • ในคอนโซล PowerShell พิมพ์คำสั่งด้านล่างและกด Enter:
Enter-PSSession -ComputerName <computer name>
  • พิมพ์ qwinsta

ถ้ารายการมี rdp-tcp พร้อมสถานะ Listen ตามภาพด้านบน RDP Listener ทำงานปกติ ข้ามไปที่ Troubleshooting step 10] ด้านล่าง มิฉะนั้น คุณจะต้อง Export การตั้งค่า RDP Listener จากคอมพิวเตอร์ที่ทำงานปกติ

ทำดังนี้:

  • ลงชื่อเข้าใช้คอมพิวเตอร์ที่มีเวอร์ชันระบบปฏิบัติการเดียวกับคอมพิวเตอร์ที่มีปัญหา และเข้าถึง Registry ของคอมพิวเตอร์นั้น
  • ไปที่ Registry entry ต่อไปนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • Export entry เป็นไฟล์ .reg
  • คัดลอกไฟล์ .reg ที่ Export ไปยังคอมพิวเตอร์ที่มีปัญหา
  • เพื่อ Import การตั้งค่า RDP Listener ให้เปิดหน้าต่าง PowerShell ที่มีสิทธิ์ Admin บนคอมพิวเตอร์ที่มีปัญหา (หรือเปิด PowerShell และเชื่อมต่อกับคอมพิวเตอร์ที่มีปัญหาแบบระยะไกล)

เพื่อสำรอง Registry entry ที่มีอยู่ ให้พิมพ์ Cmdlet ต่อไปนี้:

cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'

เพื่อลบ Registry entry ที่มีอยู่ ให้พิมพ์ Cmdlets ต่อไปนี้:

Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force

เพื่อ Import Registry entry ใหม่และ Restart Service ให้รัน Cmdlets ด้านล่าง แทนที่ placeholder <filename> ด้วยชื่อไฟล์ .reg ที่ Export

cmd /c 'regedit /s c:\<filename>.reg' Restart-Service TermService -Force

เมื่อรัน Cmdlets เสร็จ คุณสามารถทดสอบการตั้งค่าโดยลองเชื่อมต่อ Remote Desktop อีกครั้ง หากยังเชื่อมต่อไม่ได้ ให้ Restart คอมพิวเตอร์ที่มีปัญหา

หากยังเชื่อมต่อไม่ได้ ให้ดำเนินการขั้นตอนต่อไป ซึ่งคือ ตรวจสอบสถานะของ RDP self-signed certificate

8] ตรวจสอบสถานะของ RDP Self-signed Certificate

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

หากยังเชื่อมต่อไม่ได้ ให้ทำดังนี้:

  • กด Windows + R เพื่อเปิดกล่องโต้ตอบ Run
  • ในกล่อง Run พิมพ์ mmc แล้วกด Enter เพื่อเปิด Microsoft Management Console
  • คลิกเมนู File
  • เลือก Add/Remove Snap-in
  • เลือก Certificates จากรายการ Snap-ins
  • คลิก Add
  • เมื่อถูกขอให้เลือก Certificate store ที่จะจัดการ ให้เลือก Computer account
  • คลิก Next
  • เลือกคอมพิวเตอร์ที่มีปัญหา
  • คลิกปุ่ม Finish
  • คลิก OK
  • ตอนนี้ ในโฟลเดอร์ Certificates ภายใต้ Remote Desktop ให้ลบ RDP self-signed certificate
  • บนคอมพิวเตอร์ที่มีปัญหา ให้ Restart บริการ Remote Desktop Services
  • Refresh Certificates snap-in
  • หาก RDP self-signed certificate ไม่ถูกสร้างใหม่ ให้ตรวจสอบสิทธิ์ของโฟลเดอร์ MachineKeys

9] ตรวจสอบสิทธิ์ของโฟลเดอร์ MachineKeys

บนคอมพิวเตอร์ที่มีปัญหา ให้ทำดังนี้:

  • กด Windows + E เพื่อเปิด File Explorer
  • ไปที่พาธไดเรกทอรีด้านล่าง:
C:\ProgramData\Microsoft\Crypto\RSA\
  • ที่ตำแหน่งนั้น คลิกขวา MachineKeys เลือก Properties เลือก Security แล้วเลือก Advanced

ให้แน่ใจว่าสิทธิ์ต่อไปนี้ถูกกำหนดค่า:

  • Builtin\Administrators: Full control
  • Everyone: Read, Write

10] ตรวจสอบพอร์ต RDP Listener

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10

บนคอมพิวเตอร์โลคัล (Client) และคอมพิวเตอร์ระยะไกล (Target) ทั้งสอง RDP Listener ควรฟังที่พอร์ต 3389 ไม่ควรมีแอปพลิเคชันอื่นใช้พอร์ตนี้

เพื่อตรวจสอบหรือเปลี่ยนพอร์ต RDP ให้ใช้ Registry Editor เป็นมาตรการป้องกัน ให้สำรอง Registry หรือสร้าง System Restore Point แล้วดำเนินการต่อดังนี้:

  • เปิด Registry Editor เลือก File แล้วเลือก Connect Network Registry
  • ในกล่องโต้ตอบ Select Computer ให้ป้อนชื่อคอมพิวเตอร์ระยะไกล
  • เลือก Check Names
  • เลือก OK
  • ต่อไป ให้ไปที่พาธ Registry key ด้านล่าง:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • ที่ตำแหน่งนั้น ด้านขวา ให้ดับเบิลคลิก Entry PortNumber เพื่อแก้ไขคุณสมบัติ
  • ในหน้าต่าง Properties หากช่อง Value data มีค่าอื่นนอกจาก 3389 ให้เปลี่ยนเป็น 3389
  • คลิก OK เพื่อบันทึกการเปลี่ยนแปลง
  • Restart บริการ Remote Desktop Services

11] ตรวจสอบว่าแอปพลิเคชันอื่นไม่ได้ใช้พอร์ตเดียวกัน

ทำดังนี้:

  • เปิด PowerShell ในโหมด Elevated
  • เพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกล ให้รันคำสั่งด้านล่าง:
Enter-PSSession -ComputerName <computer name>

ต่อไป ให้รันคำสั่งต่อไปนี้:

cmd /c 'netstat -ano | find "3389"'
  • หา Entry สำหรับ TCP port 3389 (หรือพอร์ต RDP ที่กำหนด) พร้อมสถานะ Listening

หมายเหตุ: Process Identifier (PID) ของกระบวนการหรือบริการที่ใช้พอร์ตนั้นจะปรากฏภายใต้คอลัมน์ PID

  • เพื่อระบุว่าแอปพลิเคชันหรือบริการใดใช้พอร์ต 3389 (หรือพอร์ต RDP ที่กำหนด) ให้พิมพ์คำสั่งต่อไปนี้:
cmd /c 'tasklist /svc | find ""'
  • หา Entry สำหรับหมายเลข PID ที่เกี่ยวข้องกับพอร์ต (จาก Output ของ netstat) บริการหรือกระบวนการที่เกี่ยวข้องกับ PID นั้นจะปรากฏทางคอลัมน์ขวา
  • หากแอปพลิเคชันหรือบริการอื่นนอกจาก Remote Desktop Services (TermServ.exe) ใช้พอร์ต คุณสามารถแก้ไขความขัดแย้งได้โดยวิธีใดวิธีหนึ่งต่อไปนี้:

กำหนดค่าแอปพลิเคชันหรือบริการอื่นให้ใช้พอร์ตที่ต่างกัน (แนะนำ)

Uninstall แอปพลิเคชันหรือบริการอื่น

กำหนดค่า RDP ให้ใช้พอร์ตอื่น และ Restart บริการ Remote Desktop Services (ไม่แนะนำ)

12] ตรวจสอบว่า Firewall ไม่ได้บล็อกพอร์ต RDP

คุณสามารถใช้เครื่องมือ psping เพื่อทดสอบว่าคุณสามารถเข้าถึงคอมพิวเตอร์ที่ได้รับผลกระทบได้โดยใช้พอร์ต 3389 หรือไม่

ทำดังนี้:

  • ไปที่คอมพิวเตอร์อื่นที่ไม่ได้รับผลกระทบ และดาวน์โหลด psping
  • เปิด Command Prompt เป็น Administrator เปลี่ยนไปไดเรกทอรีที่คุณติดตั้ง psping แล้วพิมพ์คำสั่งต่อไปนี้:
psping -accepteula <computer IP>:3389
  • ตรวจสอบ Output ของคำสั่ง psping สำหรับผลลัพธ์อย่าง:

Connecting to <computer IP>: คอมพิวเตอร์ระยะไกลเข้าถึงได้

(0% loss): ทุกครั้งที่พยายามเชื่อมต่อ สำเร็จทั้งหมด

The remote computer refused the network connection: คอมพิวเตอร์ระยะไกลเข้าถึงไม่ได้

(100% loss): ทุกครั้งที่พยายามเชื่อมต่อ ล้มเหลวทั้งหมด

  • รัน psping บนหลายคอมพิวเตอร์เพื่อทดสอบความสามารถในการเชื่อมต่อกับคอมพิวเตอร์ที่ได้รับผลกระทบ
  • บันทึกว่าคอมพิวเตอร์ที่ได้รับผลกระทบบล็อกการเชื่อมต่อจากคอมพิวเตอร์อื่นทั้งหมด บางเครื่อง หรือเพียงเครื่องเดียว

ขั้นตอนเพิ่มเติมที่คุณสามารถทำได้รวมถึง:

  • ติดต่อ Network Administrators เพื่อยืนยันว่าเครือข่ายอนุญาตให้ Traffic RDP ไปยังคอมพิวเตอร์ที่ได้รับผลกระทบ
  • สอบสวนการกำหนดค่าของ Firewall ระหว่างคอมพิวเตอร์ต้นทางและคอมพิวเตอร์ที่ได้รับผลกระทบ (รวมถึง Windows Firewall บนคอมพิวเตอร์ที่ได้รับผลกระทบ) เพื่อกำหนดว่า Firewall บล็อกพอร์ต RDP หรือไม่

หวังว่าบทความนี้จะช่วยให้คุณแก้ไขปัญหาการเชื่อมต่อ RDP ที่คุณอาจเจอได้สำเร็จ!

วิธีแก้ไขปัญหาการเชื่อมต่อ Remote Desktop ทั่วไปใน Windows 11/10