العودة إلى المدونة

اتصال RDP لا يعمل؟ حلول لأشهر أخطاء سطح المكتب البعيد على Windows VPS

فريق تحرير IM Host25 أكتوبر 20267 دقائق قراءة
اتصال RDP لا يعمل؟ حلول لأشهر أخطاء سطح المكتب البعيد على Windows VPS

عندما يفشل الاتصال عبر سطح المكتب البعيد تكون رسالة الخطأ غالبًا غامضة. لكن معظم الأعطال تقع في واحدة من أربع طبقات: مسار الشبكة، أو خدمة سطح المكتب البعيد نفسها، أو المصادقة، أو الجلسات والتراخيص. افحصها بهذا الترتيب، فكل خطوة تستبعد طبقة كاملة وتوفر عليك التخمين.

الأوامر التالية تخص Windows Server 2019 و2022 و2025. استبدل 203.0.113.10 بعنوان IP الخاص بالخادم، و198.51.100.25 بعنوان IP العام الخاص بك.

الخطوة 1: هل يمكنك الوصول إلى المنفذ 3389 أصلًا؟

الرسالة العامة "Remote Desktop can't connect to the remote computer for one of these reasons" تعني أن العميل لم يتلقَّ ردًا صالحًا. وفي تطبيق Windows App على macOS أو الهاتف تظهر المشكلة نفسها عادةً بالرمز 0x204. قبل أن تغيّر أي شيء على الخادم، اختبر المنفذ من جهازك. على Windows:

Test-NetConnection 203.0.113.10 -Port 3389

على macOS أو Linux:

nc -vz 203.0.113.10 3389

إذا ظهرت النتيجة TcpTestSucceeded : True (أو كلمة succeeded من nc) فالشبكة سليمة، انتقل إلى الخطوة 3. أما إذا فشل الاختبار فهناك ما يحجب الاتصال بينك وبين الخادم، أو لا توجد خدمة تستمع على المنفذ. ابدأ بهذه النقاط:

  • شبكتك أنت. بعض شبكات الشركات والفنادق والواي فاي العامة تحجب المنفذ 3389 الصادر. جرّب مرة من اتصال مختلف، مثل نقطة اتصال الهاتف، قبل أن تفترض أن العطل في الخادم.

  • منفذ مخصص. إذا نُقل RDP إلى منفذ آخر فاتصل بالصيغة 203.0.113.10:3390 (استخدم المنفذ الذي حددته) واختبر ذلك المنفذ بدلًا من 3389.

  • حالة الخادم. الخادم الذي يثبّت تحديثات، أو عالق أثناء الإقلاع، أو أُغلق من داخل Windows لن يرد. تحقق من حالته في لوحة التحكم وأعد تشغيله عند الحاجة، وامنحه بضع دقائق بعد إعادة التشغيل لأن التحديثات قد تستغرق وقتًا.

الخطوة 2: ادخل بطريقة أخرى وافحص خدمة RDP

إذا كان المنفذ مغلقًا فأنت تحتاج إلى وصول لا يعتمد على RDP: وحدة تحكم (Console) في لوحة مزود الخدمة إن كانت متاحة، أو فريق الدعم. بعد الدخول افتح PowerShell بصلاحية المسؤول ونفّذ:

# Is the Remote Desktop service running?
Get-Service TermService

# Is anything listening on 3389?
netstat -ano | findstr :3389

# Are remote connections allowed? 0 = allowed, 1 = denied
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections

# Which port is RDP configured to use?
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber

لإعادة تفعيل RDP وقواعد الجدار الناري المدمجة:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Restart-Service TermService -Force

إعادة تشغيل TermService تقطع كل جلسات RDP، لذا نفّذها من وحدة التحكم وليس من نافذة RDP ما زلت تحتاجها. اسم المجموعة "Remote Desktop" يُترجم في نسخ Windows غير الإنجليزية، فاستخدم Get-NetFirewallRule -DisplayGroup *Remote* للعثور عليه.

القواعد المدمجة تغطي المنفذ 3389 فقط. إذا نقلت RDP إلى منفذ مخصص فأنت تحتاج قاعدة خاصة به:

New-NetFirewallRule -DisplayName "RDP custom port" -Direction Inbound -Protocol TCP -LocalPort 3390 -Action Allow

الخطوة 3: أخطاء المصادقة

"Your credentials did not work"

كلمة المرور ليست السبب دائمًا. على خادم VPS مستقل يكون الحساب محليًا، فاكتب اسم المستخدم بالشكل .\Administrator. البادئة .\ تخبر العميل باستخدام حساب محلي على الخادم وليس حساب نطاق أو حساب Microsoft. تأكد أيضًا من أن لغة لوحة المفاتيح تطابق كلمة المرور، واحذف بيانات الدخول المحفوظة القديمة بعد تغيير كلمة المرور:

cmdkey /list
cmdkey /delete:TERMSRV/203.0.113.10

"The user account has been locked because there were too many logon attempts"

منفذ RDP المفتوح للإنترنت كله يتلقى محاولات تخمين كلمات مرور بلا توقف، وقد تُفعّل الروبوتات سياسة القفل فتُغلق حسابك أمامك. انتظر انتهاء مدة القفل، أو افتح الحساب من وحدة التحكم عبر lusrmgr.msc (Users، افتح الحساب، وأزل علامة "Account is locked out"). لعرض المحاولات الفاشلة:

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 | Format-List TimeCreated, Message

الحل الدائم هو السماح بـ RDP من العناوين التي تثق بها فقط:

Set-NetFirewallRule -DisplayGroup "Remote Desktop" -RemoteAddress 198.51.100.25

إذا كان عنوان IP المنزلي يتغير كثيرًا فقد تمنعك هذه القاعدة أنت أيضًا. احتفظ بطريقة دخول أخرى (وحدة التحكم أو الدعم) قبل تطبيقها، أو اسمح بنطاق صغير تتحكم فيه.

"The connection was denied because the user account is not authorized for remote login"

أعضاء مجموعة Administrators يمكنهم الاتصال افتراضيًا. أما الحسابات الأخرى فيجب إضافتها إلى مجموعة Remote Desktop Users:

Add-LocalGroupMember -Group "Remote Desktop Users" -Member "username"

"An authentication error has occurred. The function requested is not supported"

إذا ذكرت الرسالة أيضًا "CredSSP encryption oracle remediation" فالعميل والخادم مختلفان في تحديثات أمان CredSSP. الحل الصحيح هو تثبيت تحديثات Windows الحالية على الطرفين. يوجد إعداد في Group Policy يخفف الفحص إلى "Vulnerable"، لكنه يعيد فتح ثغرة معروفة، فاستخدمه فقط كخطوة مؤقتة وقصيرة للوصول إلى الخادم وتحديثه.

"The remote computer requires Network Level Authentication"

مصادقة مستوى الشبكة (NLA) تتحقق من بياناتك قبل أن ينشئ Windows الجلسة، وهذا يحمي الخادم من حمل كبير غير مصادق. هذا الخطأ يعني غالبًا أن العميل قديم، فحدّث العميل بدلًا من إيقاف NLA على الخادم.

الخطوة 4: رسائل الجلسات والتراخيص

"Select a user to disconnect so that you can sign in"

بدون دور Remote Desktop Session Host يسمح Windows Server بجلستين إداريتين متزامنتين فقط، والجلسات المفصولة (Disconnected) تُحتسب أيضًا. اعرض الجلسات وأنهِ ما لا تحتاجه:

quser
logoff 2

استخدم رقم الجلسة الذي يظهره quser. إذا كنت تحتاج أكثر من شخصين يعملون في الوقت نفسه فهذه مسألة تراخيص (دور RDS مع تراخيص RDS CAL)، وليست إعدادًا يمكن تغييره.

"There are no Remote Desktop License Servers available to provide a license"

تظهر هذه الرسالة عندما يكون دور Remote Desktop Session Host مثبتًا وانتهت فترة السماح البالغة 120 يومًا دون خادم تراخيص مُعدّ وتراخيص CAL. غالبًا يمكنك الاتصال للإدارة بهذا الأمر:

mstsc /admin /v:203.0.113.10

ثم قرّر: إذا كنت تحتاج الوصول الإداري فقط فأزل الدور (Uninstall-WindowsFeature RDS-RD-Server ثم أعد التشغيل). وإذا كنت تحتاج تعدد المستخدمين فاضبط التراخيص بشكل صحيح وتأكد من مزود الخدمة من طريقة توفير التراخيص على الخوادم المستضافة.

شاشة سوداء بعد تسجيل الدخول

يحدث هذا كثيرًا بعد التحديثات أثناء تحميل ملف المستخدم. انتظر دقيقة، وإذا بقيت الشاشة سوداء فاضغط Ctrl+Alt+End واختر Sign out ثم أعد الاتصال. إيقاف خيار "Persistent bitmap caching" من تبويب Experience في العميل يحل بعض الحالات أيضًا.

الخطوة 5: انقطاع متكرر وبطء في الجلسة

إذا كان الاتصال يعمل لكنه ينقطع كل بضع دقائق فابدأ بالشبكة. يستخدم RDP بروتوكول UDP عندما يستطيع، وبعض الشبكات تتعامل معه بشكل سيئ. يمكنك فرض TCP على العميل عبر السياسة "Turn Off UDP On Client" (Computer Configuration ثم Administrative Templates ثم Windows Components ثم Remote Desktop Services ثم Remote Desktop Connection Client). بعد ذلك افحص الخادم نفسه في Task Manager، فالخادم الذي تقترب ذاكرته من 100% أو تستهلك عملية واحدة معالجه بالكامل سيبدو كأنه اتصال سيئ حتى لو كانت الشبكة سليمة.

مرجع سريع

العَرَضالطبقة المرجحةأول ما تفحصه
تعذر الاتصال / 0x204الشبكة أو الخدمةTest-NetConnection على المنفذ 3389
بيانات الدخول لم تعملالمصادقةاسم المستخدم بصيغة .\Administrator والبيانات المحفوظة
الحساب مقفلالمصادقةالحدث 4625 وتقييد RDP حسب IP
أخطاء CredSSP أو NLAتحديثات العميل أو الخادمWindows Update على الطرفين
Select a user to disconnectالجلساتquser وlogoff
لا يوجد خادم تراخيص متاحتراخيص RDSmstsc /admin ثم إصلاح الدور أو إزالته

شغّله على IM HOST

تبدأ خطط Windows VPS RDP من IM HOST من 8.99 دولار شهريًا (نواتان و4GB RAM) مع صلاحية Administrator كاملة عبر RDP، ضمن 13 خطة. وإذا كنت تريد معالجًا وذاكرة مخصصين مع نسخة احتياطية تلقائية مجانية كل 3 أيام فاطلع على Cloud VPS الذي يعمل بنظام Windows أو Linux. تأتي الخدمتان مع دعم فني من مهندسين على مدار الساعة طوال أيام الأسبوع يساعدونك عندما لا يستجيب RDP، دون رسوم إعداد، مع ضمان استرداد المبلغ خلال 30 يومًا. الخطط متاحة في جميع مواقعنا حسب التوفر، ونؤكد الموقع قبل التفعيل.

المزيد من مدونتنا

اكتشف المزيد من الأدلة العملية ورؤى الخدمات من فريق IM Host.

عرض كل المقالات