Đôi khi user không thể kết nối đến server RDS farm chạy Windows Server dùng built-in RDP client (mstsc.exe) với lỗi sau:
The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log on.

Trong trường hợp này, admin RDS host có thể thấy nhiều phiên user bị kẹt với tên (4) thay vì username và trạng thái Disconnected trong tab Users của Task Manager.

Vấn đề xảy ra ở tất cả phiên bản Windows Server: 2008 R2, 2012 R2, 2016 và 2019.
Lỗi có thể xuất hiện vì nhiều lý do:
- Lỗi trong hoạt động của Remote Desktop Services;
- Bug trong process csrss.exe;
- Vấn đề với user profile hoặc dịch vụ profsvc;
- Thiếu RAM hoặc dung lượng ổ đĩa trên server RDSH;
- Cài đặt Group Policy không đúng.
Rất tiếc, không có giải pháp chính thức của Microsoft giải quyết hoàn toàn vấn đề. Tất cả những gì bạn có thể làm là loại bỏ triệu chứng.
Gần như luôn khắc phục sự cố ngụ ý reset phiên user gặp vấn đề hoặc restart server RDS, nhưng trong một số trường hợp vấn đề vẫn tồn tại. Hãy nghiên cứu các giải pháp bắt đầu từ dễ nhất.
Kiểm Tra Tài Nguyên Server RDS
Đảm bảo bạn có đủ tài nguyên server vì vấn đề có thể xảy do thiếu RAM hoặc dung lượng ổ đĩa. Kiểm tra tải RAM và dung lượng trống trên ổ đĩa cài hệ điều hành (phải có ít nhất 1GB). Cũng xem event log để xem có lỗi critical liên quan đến RDS không.
Nếu mọi thứ ổn, chuyển sang bước tiếp theo.
Reset Phiên Remote Desktop Client Bị Kẹt Trên RDS
Trước hết, thử tìm và reset phiên của user không thể logon vào server RDS với lỗi "Remote Desktop Service is currently busy". Tìm user trong tab Users của Task Manager và nhấn Log off trong menu ngữ cảnh. Trong hầu hết trường hợp đủ để giải quyết vấn đề, nhưng đôi khi bạn có thể tìm thấy nhiều phiên bị kẹt với tên (4) thay vì username trong Task Manager. Thông thường, sẽ có 4 process trong phiên user RDS bị kẹt:
- Client Server Runtime Process (csrss.exe)
- Desktop Windows Manager (dwm.exe)
- Windows Logon Application (winlogon.exe)
- Windows Logon User Interface
Để bắt đầu, thử reset tất cả phiên RDS bị kẹt (4) trong Task Manager như mô tả trên. Nếu không giúp, tốt hơn reboot server. Nhưng điều này thường không thể, vì sẽ ảnh hưởng đến phiên của user khác trên RDS host. Vì vậy chúng ta sẽ thử giải quyết vấn đề không reboot host:
- Chạy command prompt quyền cao và thực thi lệnh:
query session
Nó sẽ hiển thị tất cả user và phiên remote của họ trên RDS host. Có 3 cột chúng ta cần trong output: SESSIONNAME, USERNAME và ID. Tìm user (4)và ID tương ứng, trong ví dụ này là ID 2. Chúng ta phải kill processcsrss.exeđang chạy trong phiên này, nhưng phải tìm nó trước; - Hiển thị danh sách process chạy trong session ID bạn nhận được trước:
query process /id 2
Tìm process csrss.exe(kiểm tra cột IMAGE) và PID của nó. Trong trường hợp của tôi, PID là 5140. Bạn cần kill process này. - Kiểm tra trong Task Manager. Mở Task Manager, đi đến tab Details và tìm PID và process từ bước trước.
Nếu PID bạn cần tương ứng với process csrss.exe, kill process bằng cách nhấn End task trong menu ngữ cảnh hoặc nhập lệnh sau trong command prompt: taskkill /F /PID 5140
Làm như vậy cho mỗi user (4) nếu có một số.
Reset Phiên User RDS
Nếu bạn không thể log off user gặp vấn đề trong Task Manager, bạn có thể thử reset phiên user RDS từ command prompt:
- Mở command prompt quyền admin và chạy lệnh:
query session
Copy SESSIONNAME của user gặp vấn đề. - Nhập:
reset session <SESSIONNAME>Chỉ định session name bạn có thay vì <sessionname> như trong ảnh dưới:
Làm vậy cho mỗi phiên user RDS gặp vấn đề. Sau đó bạn có thể thử logon và vấn đề không nên xảy ra nữa. Nếu bạn có thể restart server, tốt hơn làm vậy.
Kiểm Tra Cài Đặt Licensing Trên RDS Host Của Bạn
Đảm bảo license server và loại license (CAL Per User/ CAL Per Device) chỉ định trên RDS host của bạn đúng.
Một lần tôi nhận lỗi 'The task you are trying to do can’t be completed because Remote Desktop Services is currently busy' khi sau khi cài role RDSH tôi quên chỉ định hostname/địa chỉ IP của server có role Remote Desktop Licensing. Trong trường hợp đó, hai user RDP kết nối bình thường và user thứ ba gặp lỗi này.
Bạn có thể chỉ định địa chỉ server với license RDS:
- Trong cài đặt RDS collection: Tasks -> Edit Deployment Properties -> RD Licensing -> Specify a license server;

- Trong GPO: Use the specified Remote Desktop license servers (Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing)

- Dùng PowerShell (xem bài Licensing mode for the Remote Desktop Session Host is not configured).
Xóa Giới Hạn Kết Nối RDP Trong GPO
Bạn có thể dùng Group Policies để giới hạn số lượng kết nối RDS đồng thời (simultaneous). Cài đặt policy này bị tắt mặc định.
Kiểm tra xem policy có được bật và lấy giá trị dùng gpresult.
- Chạy lệnh sau trong command prompt quyền cao:
gpresult /H c:\gpresult.html - Mở file gpresult.html ở gốc ổ C. Đây là file .html phổ biến và khuyến nghị mở trong Internet Explorer vì có thể hiển thị sai trong trình duyệt khác;
- Tìm cài đặt GPO tên Limit number of connections dưới Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host\Connections hoặc gõ Limit number of connections để tìm trên trang
Nếu không có cài đặt policy như vậy, nó không được áp dụng và không có giới hạn kết nối đồng thời. Nếu policy được bật và số kết nối tối đa được đặt, thay đổi giá trị như bạn muốn. Bạn có thể chỉnh sửa Local Group Policy Editor (gpedit.msc), và nếu policy được đặt bằng domain GPO, chỉnh sửa trong gpmc.msc. Sau khi làm xong, đừng quên chạy lệnh gpupdate /force để refresh và áp dụng cài đặt Group Policy mới ngay lập tức.
Giải Pháp Out-of-the-box: Làm Gì Nếu Không Cách Nào Giúp
Nếu bạn có đủ tài nguyên server, không thấy lỗi trong log RDP, reset phiên user không giúp vì lý do nào đó, và không thể restart RDSH host ngay lập tức, thì bạn nên thử các tùy chọn sau:
- Đảm bảo chế độ Drain ngăn user tạo kết nối RDP mới bị tắt:
chglogon.exe /QUERY. Nếu lệnh trả về 'New user logons are DISABLED, but reconnections to existing sessions are ENABLED,' tắt Drain mode:chglogon.exe /enable
- Bỏ tích Persistent bitmap caching trong cài đặt kết nối RDP của client
mstsc.exe;
- Khởi động lại Remote Desktop Service dùng lệnh:
net stop termservicevànet start termservice. Hoặc restart service từ xa dùng PowerShell:Get-Service termservice –ComputerName mun-rdsh1 | Restart-Service - Kill tất cả process tstheme.exe;
- Khuyến nghị áp dụng tất cả bản cập nhật mới nhất cho phiên bản Windows của bạn, dùng công cụ cập nhật tiêu chuẩn (hoặc module PowerShell PSWindowsUpdate).