Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Cách khắc phục sự cố kết nối Remote Desktop chung trên Windows 11/10

Remote Desktop Protocol (RDP) là giao thức độc quyền do Microsoft phát triển, cung cấp giao diện đồ họa để kết nối đến máy tính khác qua kết nối mạng. Người dùng dùng RDP client software cho mục đích này, trong khi máy tính khác phải chạy RDP server software. Trong bài viết này, chúng tôi sẽ khám phá cách khắc phục sự cố kết nối Remote Desktop chung trên Windows 11/10.

Sửa sự cố kết nối Remote Desktop

Thử các bước khắc phục sự cố dưới đây khi Remote Desktop client không hoạt động hoặc không thể kết nối đến remote desktop nhưng không cung cấp thông báo hoặc triệu chứng khác giúp xác định nguyên nhân.

1. Kiểm tra trạng thái giao thức RDP trên máy tính cục bộ

Bạn cần bật Remote Desktop để kiểm tra và thay đổi trạng thái giao thức RDP trên máy tính cục bộ. Bạn cũng có thể bật Remote Desktop bằng Command Prompt hoặc PowerShell.

2. Kiểm tra trạng thái giao thức RDP trên máy tính từ xa

Để kiểm tra và thay đổi trạng thái giao thức RDP trên máy tính từ xa, hãy dùng kết nối registry mạng.

Vì đây là thao tác registry, khuyên nên sao lưu registry hoặc tạo điểm khôi phục hệ thống như biện pháp phòng ngừa cần thiết. Khi xong, bạn có thể tiến hành như sau:

  • Nhấn Windows + R để mở hộp thoại Run.
  • Trong hộp thoại Run, gõ regedit và nhấn Enter để mở Registry Editor.
  • Trong Registry Editor, chọn File, sau đó chọn Connect Network Registry.
  • Trong hộp thoại Select Computer, nhập tên máy tính từ xa.
  • Chọn Check Names.
  • Chọn OK.
  • Tiếp theo, điều hướng hoặc nhảy đến đường dẫn khóa registry dưới đây:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
  • Ở vị trí này, ở ngăn bên phải, nhấp đúp vào khóa fDenyTSConnections để chỉnh sửa thuộc tính.
  • Để bật RDP, đặt Value data của fDenyTSConnections từ 1 thành 0.

Giá trị 0 cho thấy RDP được bật, giá trị 1 cho thấy RDP bị tắt.

Liên quan: Tùy chọn Remote Desktop bị xám trên Windows 10.

3. Kiểm tra xem Group Policy Object (GPO) có chặn RDP trên máy tính cục bộ không

Một GPO có thể ghi đè cài đặt cấp máy tính, nếu bạn không thể bật RDP trong giao diện người dùng hoặc giá trị của fDenyTSConnections quay lại 1 sau khi bạn đã thay đổi nó.

Để kiểm tra cấu hình group policy trên máy tính cục bộ, hãy làm như sau:

  • Nhấn Windows + R để mở hộp thoại Run.
  • Trong hộp thoại Run, gõ cmd sau đó nhấn CTRL + SHIFT + ENTER để mở Command Prompt ở chế độ admin/nâng cao.
  • Trong cửa sổ command prompt, gõ lệnh dưới đây và nhấn Enter.
gpresult /H c:\gpresult.html
  • Khi lệnh thực thi xong, mở gpresult.html.
  • Trong Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections, tìm chính sách Allow users to connect remotely by using Remote Desktop Services.

Nếu cài đặt cho chính sách này là Enabled, Group Policy không chặn kết nối RDP. Nếu cài đặt là Disabled, kiểm tra Winning GPO. Đây là GPO đang chặn kết nối RDP.

4. Kiểm tra xem GPO có chặn RDP trên máy tính từ xa không

Để kiểm tra cấu hình Group Policy trên máy tính từ xa, chạy lệnh dưới đây trong CMD prompt nâng cao:

gpresult /S <tên máy tính> /H c:\gpresult-<tên máy tính>.html

File mà lệnh này tạo ra (gpresult-<tên máy tính>.html) dùng cùng định dạng thông tin như phiên bản máy tính cục bộ (gpresult.html) sử dụng.

5. Sửa đổi GPO chặn

Bạn có thể sửa đổi các cài đặt này trong Group Policy Object Editor (GPE) và Group Policy Management Console (GPMC).

Để sửa chính sách chặn, dùng một trong các phương pháp sau:

Sử dụng GPE, làm như sau:

  • Nhấn Windows + R để mở hộp thoại Run.
  • Trong hộp thoại Run gõ gpedit.msc và nhấn Enter để mở Group Policy Editor.
  • Bên trong Local Group Policy Editor, dùng ngăn bên trái để điều hướng đến đường dẫn dưới đây:
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Ở vị trí này, ở ngăn bên phải, nhấp đúp vào Allow users to connect remotely by using Remote Desktop Services để chỉnh sửa thuộc tính.
  • Đặt chính sách thành Enabled hoặc Not configured.
  • Nhấp Apply > OK và thoát.
  • Trên các máy tính bị ảnh hưởng, mở command prompt window với quyền administrator, và chạy lệnh dưới đây:
gpupdate /force

Sử dụng GPMC, điều hướng đến organizational unit (OU) nơi chính sách chặn được áp dụng cho các máy tính bị ảnh hưởng và xóa chính sách khỏi OU.

6. Kiểm tra trạng thái dịch vụ RDP

Trên cả máy tính cục bộ (client) và máy tính từ xa (target), các dịch vụ sau nên đang chạy:

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

Trên bất kỳ máy tính nào, nếu một hoặc cả hai dịch vụ không chạy, hãy khởi động chúng.

Làm như sau:

  • Nhấn Windows + R để mở hộp thoại Run.
  • Trong hộp thoại Run, gõ services.msc và nhấn Enter để mở Services.
  • Trong cửa sổ Services, cuộn và tìm cả hai dịch vụ nói trên.
  • Nhấp đúp vào mục để chỉnh sửa thuộc tính.
  • Trong cửa sổ thuộc tính, nhấp nút Start.
  • Nhấp OK.

Bạn cũng có thể dùng PowerShell để quản lý dịch vụ cục bộ hoặc từ xa (nếu máy tính từ xa được cấu hình chấp nhận remote PowerShell cmdlets).

7. Kiểm tra trạng thái RDP listener

Thủ tục này dùng PowerShell vì các cmdlet giống nhau hoạt động cả cục bộ và từ xa. Đối với máy tính cục bộ, bạn cũng có thể dùng command prompt có quyền admin.

Để kết nối đến máy tính từ xa, làm như sau:

  • Nhấn Windows + X để mở Power User Menu.
  • Nhấn A trên bàn phím để khởi chạy PowerShell ở chế độ admin/nâng cao.
  • Trong console PowerShell, gõ lệnh dưới đây và nhấn Enter:
Enter-PSSession -ComputerName <tên máy tính>
  • Nhập qwinsta.

Nếu danh sách bao gồm rdp-tcp với trạng thái Listen, như hình ảnh trên, RDP listener đang hoạt động. Nhảy đến Bước khắc phục sự cố 10] dưới đây. Ngược lại, bạn sẽ cần export cấu hình RDP listener từ máy tính đang hoạt động.

Làm như sau:

  • Đăng nhập vào máy tính có cùng phiên bản hệ điều hành với máy tính bị ảnh hưởng, và truy cập registry của máy tính đó.
  • Điều hướng hoặc nhảy đến mục registry sau:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • Export mục này thành file .reg.
  • Sao chép file .reg đã export sang máy tính bị ảnh hưởng.
  • Để import cấu hình RDP listener, mở cửa sổ PowerShell có quyền admin trên máy tính bị ảnh hưởng (hoặc mở PowerShell và kết nối đến máy tính bị ảnh hưởng từ xa).

Để sao lưu mục registry hiện có, nhập cmdlet sau:

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

Để xóa mục registry hiện có, nhập các cmdlet sau:

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

Để import mục registry mới và sau đó khởi động lại dịch vụ, chạy các cmdlet dưới đây. Thay thế placeholder <filename> bằng tên file .reg đã export.

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

Khi xong thực thi cmdlet, bạn có thể test cấu hình bằng cách thử kết nối remote desktop lại. Nếu vẫn không kết nối được, khởi động lại máy tính bị ảnh hưởng.

Nếu vẫn không kết nối được, tiếp tục bước khắc phục sự cố tiếp theo là kiểm tra trạng thái chứng chỉ tự ký RDP.

8. Kiểm tra trạng thái chứng chỉ tự ký RDP

Nếu bạn vẫn không thể kết nối, làm như sau:

  • Nhấn Windows + R để mở hộp thoại Run.
  • Trong hộp thoại Run, gõ mmc và nhấn Enter để mở Microsoft Management Console.
  • Nhấp menu File.
  • Chọn Add/Remove Snap-in.
  • Chọn Certificates từ danh sách snap-ins.
  • Nhấp Add.
  • Khi được nhắc chọn certificate store để quản lý, chọn Computer account.
  • Nhấp Next.
  • Chọn máy tính bị ảnh hưởng.
  • Nhấp nút Finish.
  • Nhấp OK.
  • Bây giờ, trong thư mục Certificates dưới Remote Desktop, xóa chứng chỉ tự ký RDP.
  • Trên máy tính bị ảnh hưởng, khởi động lại dịch vụ Remote Desktop Services.
  • Làm mới snap-in Certificates.
  • Nếu chứng chỉ tự ký RDP chưa được tạo lại, kiểm tra quyền thư mục MachineKeys.

9. Kiểm tra quyền thư mục MachineKeys

Trên máy tính bị ảnh hưởng, làm như sau:

  • Nhấn Windows + E để mở File Explorer.
  • Điều hướng đến đường dẫn thư mục dưới đây:
 C:\ProgramData\Microsoft\Crypto\RSA\
  • Ở vị trí này, chuột phải MachineKeys, chọn Properties, chọn Security, sau đó chọn Advanced.

Đảm bảo rằng các quyền sau được cấu hình:

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

10. Kiểm tra cổng RDP listener

Trên cả máy tính cục bộ (client) và máy tính từ xa (target), RDP listener nên lắng nghe trên cổng 3389. Không ứng dụng nào khác nên dùng cổng này.

Để kiểm tra hoặc thay đổi cổng RDP, dùng Registry Editor. Là biện pháp phòng ngừa, sao lưu registry hoặc tạo điểm khôi phục hệ thống, sau đó tiếp tục như sau:

  • Mở Registry Editor, chọn File, sau đó chọn Connect Network Registry.
  • Trong hộp thoại Select Computer, nhập tên máy tính từ xa.
  • Chọn Check Names.
  • Chọn OK.
  • Tiếp theo, điều hướng hoặc nhảy đến đường dẫn khóa registry dưới đây:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • Ở vị trí này, ở ngăn bên phải, nhấp đúp vào mục PortNumber để chỉnh sửa thuộc tính.
  • Trong cửa sổ thuộc tính, nếu trường Value data có giá trị khác 3389, hãy đổi thành 3389.
  • Nhấp OK để lưu thay đổi.
  • Khởi động lại dịch vụ Remote Desktop Services.

11. Kiểm tra xem ứng dụng khác có đang dùng cùng cổng không

Làm như sau:

  • Mở PowerShell ở chế độ nâng cao.
  • Để kết nối đến máy tính từ xa, chạy lệnh dưới đây:
Enter-PSSession -ComputerName <tên máy tính>

Tiếp theo, chạy lệnh sau:

cmd /c 'netstat -ano | find "3389"'
  • Tìm mục cho cổng TCP 3389 (hoặc cổng RDP được gán) với trạng thái Listening.

Lưu ý: Process identifier (PID) cho tiến trình hoặc dịch vụ dùng cổng đó xuất hiện dưới cột PID.

  • Để xác định ứng dụng nào đang dùng cổng 3389 (hoặc cổng RDP được gán), nhập lệnh sau:
cmd /c 'tasklist /svc | find ""'
  • Tìm mục cho số PID liên quan đến cổng (từ output netstat). Các dịch vụ hoặc tiến trình liên quan đến PID đó xuất hiện ở cột bên phải.
  • Nếu ứng dụng hoặc dịch vụ khác ngoài Remote Desktop Services (TermServ.exe) đang dùng cổng, bạn có thể giải quyết xung đột bằng một trong các phương pháp sau:

Cấu hình ứng dụng hoặc dịch vụ khác để dùng cổng khác (khuyên dùng).

Gỡ cài đặt ứng dụng hoặc dịch vụ khác.

Cấu hình RDP dùng cổng khác, sau đó khởi động lại dịch vụ Remote Desktop Services (không khuyên dùng).

12. Kiểm tra xem tường lửa có chặn cổng RDP không

Bạn có thể dùng công cụ psping để test xem bạn có thể truy cập máy tính bị ảnh hưởng bằng cổng 3389 không.

Làm như sau:

  • Đi đến máy tính khác không bị ảnh hưởng và tải psping.
  • Mở command prompt window với quyền admin, chuyển đến thư mục bạn cài psping, sau đó nhập lệnh sau:
psping -accepteula <IP máy tính>:3389
  • Kiểm tra output của lệnh psping cho kết quả như sau:

Connecting to <IP máy tính>: Máy tính từ xa có thể truy cập.

(0% loss): Tất cả lần thử kết nối thành công.

The remote computer refused the network connection: Máy tính từ xa không thể truy cập.

(100% loss): Tất cả lần thử kết nối thất bại.

  • Chạy psping trên nhiều máy tính để test khả năng kết nối đến máy tính bị ảnh hưởng.
  • Ghi nhận xem máy tính bị ảnh hưởng chặn kết nối từ tất cả máy tính khác, một số máy tính khác, hoặc chỉ một máy tính khác.

Các bước bổ sung bạn có thể thực hiện bao gồm;

  • Nhờ quản trị mạng xác minh rằng mạng cho phép lưu lượng RDP đến máy tính bị ảnh hưởng.
  • Điều tra cấu hình của bất kỳ tường lửa nào giữa máy tính nguồn và máy tính bị ảnh hưởng (bao gồm Windows Firewall trên máy tính bị ảnh hưởng) để xác định xem tường lửa có chặn cổng RDP không.

Hy vọng bài viết này giúp bạn khắc phục thành công các sự cố kết nối RDP bạn đang gặp phải!