Secara berkala, beberapa pengguna tidak dapat masuk ke server RDS dari server Windows Server melalui klien rdp standar dengan kesalahan:
Tidak dapat menyelesaikan operasi yang diminta karena Layanan Desktop Jarak Jauh sedang sibuk. Silakan coba lagi dalam beberapa menit. Pengguna lain harus tetap bisa masuk..
Tugas yang Anda coba lakukan tidak dapat diselesaikan karena Layanan Desktop Jarak Jauh sedang sibuk. Silakan coba lagi dalam beberapa menit. Pengguna lain harus tetap bisa masuk.
Kami juga bertemu gambar ini beberapa kali: pada tab Pengguna di pengelola tugas RDS host, ada banyak pengguna yang diskors oleh sesi dengan nama (4) alih-alih nama pengguna dan dengan status Terputus-putus.
Masalahnya terjadi pada semua versi Windows Server: 2008 R2, 2012 R2, 2016 dan 2019.
Kesalahan dapat terjadi karena berbagai alasan:
- Kesalahan dalam Layanan Desktop Jarak Jauh;
- Bug dengan proses csrss.exe;
- Masalah dengan profil pengguna atau dengan layanan profsvc;
- Kurangnya RAM atau ruang disk di server RDSH;
- Pengaturan Kebijakan Grup yang Tidak Benar.
Sayangnya, saat ini tidak ada solusi resmi dari Microsoft yang akan menyelesaikan masalah sepenuhnya, semuanya berujung pada menghilangkan gejalanya.
Hampir selalu, masalah diselesaikan dengan mengatur ulang sesi pengguna masalah dan me-reboot server RDS, tetapi dalam situasi luar biasa ini mungkin tidak cukup. Mari kita bahas solusinya, mulai dari yang paling ringan.
# 1 - Periksa Sumber Daya Server RDS
Pastikan server memiliki sumber daya yang cukup, karena kesalahan ini dapat terjadi karena kurangnya RAM atau ruang disk. Periksa beban RAM dan apakah ada cukup ruang kosong pada disk tempat sistem operasi diinstal (minimal 1 GB harus bebas). Periksa juga log peristiwa untuk kesalahan RDS kritis..
Jika ada sumber daya yang cukup, buka opsi berikutnya..
# 2 - Atur ulang sesi pengguna dan penghentian proses yang digantung dalam sesi RDS
Pertama, mari kita coba menemukan dan secara paksa mengatur ulang sesi pengguna yang tidak bisa masuk ke server RDS. Di pengelola tugas, pada tab Pengguna, temukan pengguna yang diinginkan dan klik "Log off" melalui menu konteks. Dalam kebanyakan kasus, ini sudah cukup, tetapi kadang-kadang di task manager Anda dapat menemukan banyak sesi menutup dengan nama "(4)" bukan nama pengguna. Sebagai aturan, 4 proses akan hadir dalam sesi digantung:
- Proses Runtime Server Klien (csrss.exe)
- Desktop Windows Manager (dwm.exe)
- Aplikasi Windows Logon (winlogon.exe)
- Antarmuka Pengguna Windows Logon
Pertama-tama, cobalah untuk mengakhiri semua sesi yang macet dengan (4) melalui task manager, seperti dijelaskan di atas. Jika ini tidak membantu, maka yang terbaik adalah me-restart server, tetapi sering kali tidak ada kemungkinan seperti itu, jadi kami mencoba menyelesaikan masalah tanpa me-reboot:
- Jalankan command prompt sebagai administrator dan masukkan:
sesi permintaan
Ini akan menampilkan semua pengguna dan sesi mereka di server terminal. Output dari perintah memiliki 3 kolom yang menarik bagi kami: SESSIONNAME, USERNAME dan ID. Temukan pengguna (4) dan ID yang sesuai, dalam contoh ini ID 2. Kita perlu menyelesaikan proses csrss.exe yang berjalan di bawah sesi ini, pertama-tama kita menemukannya. - Pada prompt perintah, ketik:
proses permintaan / id 2
Perintah akan menampilkan semua proses yang berjalan di sesi ini. Kita perlu menemukan proses csrss.exe dan yang sesuai PID. Dalam kasus saya, PID akan menjadi 5140. Kita perlu menyelesaikan proses ini.. - Periksa pengelola tugas. Buka pengelola tugas, buka tab Detail dan temukan PID dan proses yang Anda butuhkan.Jika PID yang Anda butuhkan terkait dengan proses csrss.exe, maka akhiri proses melalui menu konteks dan Tugas akhir, atau melalui baris perintah:
taskkill / F / PID 5140
Ini harus dilakukan dengan setiap pengguna "(4)", jika ada beberapa.
# 3 - Setel ulang sesi pengguna melalui baris perintah
Jika Anda gagal untuk keluar dari pengguna "bermasalah" melalui task manager, Anda dapat mencoba mengatur ulang sesi pengguna melalui baris perintah.
- Jalankan prompt perintah sebagai administrator dan masukkan
sesi permintaan
Salin SESSIONNAME pengguna yang bermasalah.
- Masuk
mengatur ulang sesi
. Sebagai gantinya, masukkan nama sesi yang Anda butuhkan, seperti yang ditunjukkan pada tangkapan layar
- Jalankan prompt perintah sebagai administrator dan masukkan
Ini harus dilakukan dengan setiap pengguna masalah. Sekarang Anda dapat mencoba masuk, masalahnya harus diselesaikan. Jika Anda memiliki kemampuan untuk me-restart server, maka lebih baik melakukannya.
# 4 - Periksa Pengaturan Lisensi Host RDS
Verifikasi bahwa server lisensi yang benar dan jenis lisensi (CAL Per Pengguna / CAL Per Perangkat) ditentukan pada host RDSH Anda.
Saya mendapat kesalahan "Tidak dapat menyelesaikan operasi yang diminta karena Layanan Desktop Jarak Jauh sedang sibuk sekarang" satu kali, ketika setelah menginstal peran RDSH saya lupa menentukan alamat server dengan peran Perizinan Desktop Jarak Jauh. Dalam hal ini, dua pengguna terhubung secara normal, dan yang ketiga menerima kesalahan.Alamat server dengan lisensi RDS dapat ditentukan:
- Dalam pengaturan koleksi RDS: Tugas -> Edit Properti Penempatan -> Lisensi RD;
- Melalui GPO: Gunakan server lisensi Remote Desktop yang ditentukan (Konfigurasi Komputer -> Kebijakan -> Template Admin -> Komponen Windows -> Layanan Desktop Jarak Jauh -> Host Sesi Desktop Jarak Jauh -> Perizinan)
- Menggunakan PowerShell (lihat artikel "Mode Perizinan Tidak Diatur untuk Server Host Sesi Desktop Jarak Jauh").
# 5 - Hapus batas koneksi RDP di GPO
Melalui kebijakan grup, Anda dapat membatasi jumlah koneksi RDS bersamaan. Secara default, kebijakan ini dinonaktifkan..
Menggunakan gpresult, Anda perlu memeriksa apakah kebijakan diaktifkan dan nilai apa yang ditunjukkan di dalamnya..
- Jalankan prompt perintah sebagai administrator dan masukkan
gpresult / H c: \ gpresult.html
- Buka file gpresult.html, yang terletak di root drive C. Ini adalah file .html biasa, disarankan untuk membukanya melalui internet explorer, karena mungkin tidak ditampilkan dengan benar di browser lain;
- Di bagian ini Konfigurasi Komputer -> Template Administratif -> Komponen Windows -> Layanan Desktop Jarak Jauh -> Host Sesi Desktop Jarak Jauh \ Koneksi temukan Batasi jumlah koneksi, atau dalam pencarian di halaman, ketik Batasi jumlah koneksi.
- Jalankan prompt perintah sebagai administrator dan masukkan
Jika tidak ada kebijakan seperti itu, maka itu tidak berlaku dan tidak ada batasan pada jumlah koneksi simultan. Jika ada kebijakan dan jumlah koneksi simultan ditunjukkan, ubah nilainya ke nomor yang Anda butuhkan. Anda dapat mengubah Kebijakan Grup melalui snap gpedit.msc, jika kebijakan dikonfigurasi melalui GPO domain, edit kebijakan yang sesuai melalui gpmc.msc. Setelah mengedit kebijakan, jangan lupa mengetikkan baris perintah gpupdate / force
untuk penegakan kebijakan segera.
# 6 - Solusi khusus: jika semuanya gagal
Jika Anda memiliki sumber daya yang cukup, tidak ada kesalahan dalam log, Anda tidak dapat memulai ulang, dan mengatur ulang sesi karena beberapa alasan tidak membantu, maka Anda harus mencoba opsi berikut:
- Periksa bahwa mode Pembuangan tidak diaktifkan pada server RDS, yang mencegah pengguna dari koneksi RDP baru:
chglogon.exe / QUERY
. Jika perintah mengembalikan pesan “Log masuk pengguna baru DISABLED, tetapi koneksi ulang ke sesi yang ada diaktifkan", Nonaktifkan mode Drain:chglogon.exe / aktifkan
- Dalam pengaturan koneksi RDP (mstsc.exe) pada klien mstsc, hapus centang pada kotak centang "Persistent bitmap caching";
- Mulai ulang layanan RDS. Pada prompt perintah dengan hak administrator, ketik
layanan berhenti bersih
danlayanan mulai bersih
. Atau mulai ulang layanan dari jarak jauh menggunakan PowerShell:Dapatkan-layanan termservice -ComputerName msk-rds1 | Mulai kembali layanan
- Memaksa proses pembunuhan tstheme.exe;
- Disarankan untuk menerapkan semua pembaruan terbaru untuk versi Windows Anda, gunakan alat pembaruan standar.
- Periksa bahwa mode Pembuangan tidak diaktifkan pada server RDS, yang mencegah pengguna dari koneksi RDP baru: