Serverآموزش

آموزش رفع خطا پورت ریموت دسکتاپ (RDP)

در این مقاله قصد داریم به شما نحوه رفع خطا پورت ریموت دسکتاپ یا RDP را آموزش دهیم. زمانی که یک رایانه نمی تواند به رایانه راه دور دیگری از طریق ریموت دسکتاپ متصل شود، این خطا رخ می دهد. چرا که شما سعی می‌ کنید با استفاده از سرویس‌ گیرنده داخلی Windows RDP (mstsc.exe) به یک رایانه راه‌ دور Windows یا میزبان ویندوز سرور که نقش سرویس‌ های ریموت دسکتاپ (RDS) را اجرا می‌ کند، متصل شوید. بنابراین وقتی می‌ خواهید از طریق پورت ریموت دسکتاپ به سرور/دسکتاپ راه دور ویندوز متصل شوید، پنجره‌ ای با خطای RDP به صورت زیر ظاهر می‌ شود:

خطا پورت ریموت دسکتاپ

بررسی اتصال شبکه پورت ریموت دسکتاپ

اول از همه، بررسی کنید که آیا رایانه ریموت از طریق شبکه قابل دسترسی است. یعنی باید بررسی کنید پورت پیش فرض دسکتاپ، از راه دور پاسخ می دهد و توسط فایروال ها مسدود نشده است. بنابراین، باید مطمئن شوید که آدرس DNS میزبان RDP راه دور به درستی از طریق سیستم شما تنظیم شده است.

برای این کار، از دستورات زیر استفاده کنید:

nslookup rdp_server_name1

ping rdp_server_name1

اگر نام DNS به درستی قرار نگرفته باشد، باید تنظیمات DNS خود را بررسی کنید یا سعی کنید با استفاده از آدرس IP به یک میزبان ریموت متصل شوید. به علاوه حتما محتویات فایل میزبان Local را بررسی کنید. این فایل نباید حاوی ورودی های ثابت برای نام یا آدرس IP سرور مجازی شما باشد. ورودی های اضافی را از فایل میزبان حذف کنید. با استفاده از PowerShell و دستور زیر می توانید محتویات فایل میزبان را فهرست کنید:

Get-Content $env:SystemRoot\System32\Drivers\etc\hosts
فهرستی از اطلاعات فایل میزبان

می توانید در دسترس بودن پورت ریموت دسکتاپ را در یک سرور ریموت، از طریق workstation کلاینت با استفاده از PowerShell 4.0 و بالاتر با دستور زیر تشخیص دهید:

Test-NetConnection rdp_server_name1 -Port 3389 -InformationLevel Quiet

توجه داشته باشید. اگر این دستور True را برگرداند، پورت ریموت دسکتاپ روی سرور پاسخ می‌ دهد و مسدود نمی‌ شود.

بررسی در دسترس بودن پورت ریموت دسکتاپ

اگر به طور مثال پورت 3389 در دسترس نیست، باید بررسی کنید که آیا Remote Connection در سرور راه دور فعال است یا خیر. برای این کار مسیر زیر را دنبال کنید Start > Settings > System > Remote Desktop > Enable Remote Desktop.

بررسی فعال بودن Remote Connection در سرور راه دور

بررسی تنظیمات سرویس پورت RDP در رایانه ریموت

اگر Remote Desktop فعال است، در مرحله بعد باید تنظیمات را بررسی کنید، تا حداکثر تعداد اتصالات همزمان کاربران را به یک Remote Desktop تعیین کنید. tsadmin.msc mmc را باز کنید (Administrative tools > Remote Desktop Services > Remote desktop Session Host Configuration). روی RDP-TCP کلیک کنید و مقدار ویژگی Maximum connections را در تب Network Adapter بررسی کنید.

بررسی تنظیمات سرویس پورت ریموت دسکتاپ

tsadmin.msc در نسخه‌های مدرن ویندوز (مانند Windows 10 یا Windows Server 2016) وجود ندارد، بنابراین باید تنظیمات سرویس RDP را با استفاده از Group Policies تنظیم کنید. برای این کار مراحل زیر را دنبال کنید.

  1. ویرایشگر GPO را در میزبان ریموت باز کنید: برای این کار دکمه های Win + R را به طور هم زمان فشار دهید سپس عبارت gpedit.msc را در کادر موجود داخل پنجره وارد کنید و OK را بزنید. همچنین می توانید عبارت GPO را در منو Start سرچ کنید.
  2. به مسیر زیر در GPO بروید: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections.
  3. پارامتر خط مشی به نام Allow users to connect remote with using Remote Desktop Services را فعال کنید (اگر این خط مشی غیرفعال باشد، کاربر راه دور نمی تواند با استفاده از Remote Desktop Services به این رایانه متصل شود).
Allow users to connect remote with فعال کردن using Remote Desktop

4. همچنین بررسی کنید که آیا Remote Desktop Services تعداد اتصالات همزمان به سرور را محدود می کند یا خیر. حداکثر تعداد اتصالات پورت ریموت دسکتاپ را می توان در بخش Connections با استفاده از خط مشی Limit number of connections مشخص کرد. اتصالات نامحدود را با وارد کردن 999999 در گزینه RD Maximum Connections تنظیم کنید.

بررسی تعداد اتصالات ریموت دسکتاپ

از دستور netstat برای بررسی اینکه آیا پورت TCP 3389 در وضعیت Listening است یا خیر استفاده کنید. command promp را باز کنید و دستور زیر را اجرا کنید:

netstat -a -o|find "LIST"

همان طور که می بینید، در این مثال ، پورت 3389 در وضعیت listening قرار دارد.

TCP 0.0.0.0:3389 DESKTOP-JOPF9:0 LISTENING 1096
وضعیت listening در پورت 3389

سعی کنید سرویس Remote Desktop Services را مجددا راه اندازی کنید. می توانید این عمل را با استفاده از کنسول services.msc یا با دستور زیر در PowerShell انجام دهید:

get-service TermService| Restart-Service -force -Verbose

بررسی پورت ریموت دسکتاپ و تنظیمات فایروال ویندوز

در برخی موارد، مدیر می تواند شماره پورت ریموت دسکتاپ را به طور مثال از 3389 پیش فرض به چیز دیگری تغییر دهد (اگرچه مایکروسافت این را توصیه نمی کند). برای بررسی پورت فعلی که سرویس Remote Desktop روی رایانه در وضعیت Listening قرار دارد، ویرایشگر رجیستری (regedit.exe) را باز کنید و به registry key بروید:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

به مقدار پارامتر PortNumber توجه کنید. این پارامتر پورت فعلی TCP را نشان می دهد که به سرویس RDP اختصاص داده شده است. در مثالی که زدیم، این مقدار 3389 است. اگر پورت دیگری دارید، می توانید آن را به 3389 (به صورت اعشاری) تغییر دهید و کامپیوتر را مجددا راه اندازی کنید.

بررسی پورت فعلی که سرویس Remote Desktop روی رایانه در وضعیت Listening قرار د

می‌ توانید شماره پورت listening ریموت دسکتاپ را با استفاده از دستور زیر در PowerShell بررسی کنید:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"

برای بررسی پورت ریموت دسکتاپ در یک کامپیوتر راه دور، از دستور Invoke-Command استفاده کنید:

Invoke-Command -ComputerName computername1 {Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp -Name PortNumber | select PortNumber}

اگر یک پورت غیر استاندارد برای Remote Desktop در رایانه راه دور پیکر بندی شده است، هنگام اتصال به رایانه از طریق سرویس گیرنده Remote Desktop Connection، باید شماره پورتی را مشخص کنید که با یک دو نقطه جدا شده است. برای مثال rdp_server_name1:3320.

استاندارد سازی پورتی که به طور غیر استاندارد پیکربندی شده است

همچنین، بررسی کنید که دسترسی که به اتصالات RDP ورودی اجازه می دهد، در Windows Defender Firewall settings فعال باشد.

  1. برای این کار به Control Panel > System and Security > Windows Defender Firewall بروید.
  2. ابتدا وارد”Allow an app or feature through Windows Defender Firewall” شوید سپس Change Settings را بزنید.
  3. Remote Desktop rule را پیدا کنید و مطمئن شوید که برای شبکه های خصوصی و عمومی فعال است.
بررسی فعال بودن قانونی که به اتصالات RDP اجازه می دهد

شما می‌ توانید قانون built-in firewall را برای سرویس ریموت دسکتاپی که روی پورت TCP/3389 اجرا می‌ شود با استفاده از کد زیر در PowerShell فعال کنید:

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

اگر قانون built-in firewall وجود ندارد، می توانید یک قانون جدید با استفاده از دستور زیر ایجاد کنید:

New-NetFirewallRule -DisplayName "AllowRDP_connection" -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Allow

نمایه اتصال شبکه خود را بررسی کنید. اگر نمایه عمومی برای مکان شبکه شما پیکربندی شده باشد، ممکن است با خطاهای مختلف اتصال RDP مواجه شوید. سعی کنید آن را به خصوصی تغییر دهید. می توانید وضعیت شبکه را با استفاده از کنترل پنل (Network and Internet > Status > Connection Properties) یا با PowerShell تغییر دهید.

برای بررسی نمایه اتصال شبکه فعلی از دستور زیر استفاده کنید:

Get-NetConnectionProfile

اکنون با استفاده از دستور زیر نمایه اتصال شبکه را به خصوصی تغییر دهید:

Set-NetConnectionProfile -InterfaceIndex 14 -NetworkCategory Private
خصوصی کردن نمایه اتصال شبکه

اگر از فایروال یا آنتی ویروس استفاده می کنید، مطمئن شوید که اتصالات پورت ریموت دسکتاپ را مسدود نمی کند. می توانید نرم افزار آنتی ویروس خود را به طور موقت غیرفعال کنید.

سپس، properties اتصال شبکه خود را بررسی کنید. بررسی کنید که آیا وضعیت اتصال شبکه روی عمومی تنظیم شده است یا خیر. در صورت نیاز آن را از خصوصی به عمومی تغییر دهید (Settings > Network & Internet > Status > Network status > Change connection properties).

بررسی وضعیت اتصال شبکه

در برخی موارد، باید تنظیمات winsock و پشته IP را برای آداپتور شبکه در رایانه ریموت باز نشانی کنید. یک command promp با administrator باز کنید و دستورات زیر را اجرا کنید:

netsh winsock reset

netsh int ip reset

ipconfig /release

ipconfig /renew

ipconfig /flushdns

در ویندوز 10 گزینه خاصی برای بازنشانی تنظیمات شبکه در Settings > Network and Internet > Status > Network reset وجود دارد.

پس از بازنشانی تنظیمات شبکه، باید ویندوز را ریبوت کنید.

بازنشانی تنظیمات شبکه در ویندوز 10

سطح بالای امنیت یک علت احتمالی برای RDP

یکی دیگر از دلایل احتمالی خطا پورت ریموت دسکتاپ ممکن است سطح بالایی از امنیت باشد که توسط نسخه های قدیمی کلاینت RDP پشتیبانی نمی شود. در این حالت، تب General را در پنجره properties RDP-Tcp باز کنید و Security را از پیش فرض Negotiate به لایه امنیتی با امنیت کمتر تغییر دهید.

پایین آوردن سطح امنیتی لایه RDP

سطح امنیت RDP را می توان با استفاده از خط مشی به نام Require user of specific layer security for remote (RDP) برای اتصالات مشخص کرد. این خط مشی را فعال کنید و در منوی کشویی سطح امنیت RDP را انتخاب کنید. با این کار لایه امنیتی Remote Desktop از Negotiate پیش‌ فرض به RDP با امنیت کمتر تغییر می‌ کند.

تغییر پیش فرض لایه ای امنیتی با امنیت پایین تر

تغییرات را ذخیره کنید، تنظیمات GPO را با استفاده از دستور “gpupdate /force” به روز کنید، و Remote Desktop Service را مجددا راه اندازی کنید:

net stop TermService && net start TermService

خطای پورت RDP به دلیل بروز مشکل در ریموت دسکتاپ

در برخی موارد، هنگام اتصال با ویندوز 10 به دسکتاپ مجازی، ریموت دسکتاپ قطع می شود و خطایی مشابه آن چه در تصویر زیر می بینید نمایش داده می شود.

خطا پورت ریموت دسکتاپ به دلیل بروز مشکل در دسکتاپ راه دور

برای رفع این مشکل، باید مراحل زیر را در سرویس گیرنده پورت ریموت دسکتاپ انجام دهید:

  1. ویرایشگر رجیستری (regedit.exe) را باز کنید.
  2. به HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client بروید.
  3. یک پارامتر DWORD با نام RDGClientTransport و مقدار 1 ایجاد کنید.
  4. کامپیوتر را مجددا راه اندازی کنید.
رفع خطا پورت ریموت دسکتاپ که به دلیل بروز مشکل در دسکتاپ راه دور به وجود آمده است.

پارامتر RDGClientTransport کلاینت ها را مجبور می کند که از اتصالات RPC/HTTP به جای HTTP/UDP برای اتصال به سرور استفاده کنند. اگر راه حل فوق خطای اتصال RDP را برطرف نکرد، سعی کنید تنظیمات مجموعه را در سمت سرور RDSH تغییر دهید. properties برنامه خود را باز کنید، به تب Security بروید و تیک گزینه “Allow connections only from computers running Remote Desktop with Network Level Authentication” را بردارید.

تغییر تنظیمات در سمت سرور RDSH

اگر خطای RemoteApp Disconnected فقط روی یک رایانه متصل به غیر دامنه رخ دهد، ممکن است تنظیمات مختلف خط مشی LAN Manager/NTLM در میزبان RDSH و رایانه دسکتاپ استفاده شود. اغلب، این می تواند باعث مشکلات احراز هویت شود.

با استفاده از دستور gpresult /r c:\tmp\gpreport.html (فایل html را بررسی کنید) یا با استفاده از rsop.msc تنظیمات خط‌مشی سطح احراز هویت LAN Manager را در RSDH بررسی کنید (این خط‌ مشی در بخش Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options قرار دارد). اگر پروتکل‌ های LM و NTLMv1 در سرور RDSH شما غیر فعال هستند، باید تنظیمات خط‌ مشی مناسب را در سمت کلاینت تغییر دهید.

  1. برای انجام این کار، ویرایشگر GPO (gpedit.msc) را باز کنید.
  2. به بخش GPO در بالا بروید.
  3. خط مشی “Network Security: LAN Manager authentication level” را فعال کنید و مقدار آن را روی Send NTLMv2 Response only تنظیم کنید.
  4. با دستور gpupdate، خط مشی ها را در کلاینت به روز کنید.
  5. اتصال RemoteApp خود را بررسی کنید.
بررسی تنظیمات خط مشی در سمت کلاینت

خطا پورت ریموت دسکتاپ به دلیل اشتباه بودن یا غیر فعال بودن آدرس


خطای دیگری در ارتباط با Remote Desktop Gateway وجود دارد که برای ارائه RemoteApps به کاربران استفاده می شود:

خطا پورت ریموت دسکتاپ به دلیل اشتباه بودن یا غیر فعال بودن آدرس

در این حالت رایانه شما نمی تواند به رایانه ریموت متصل شود زیرا آدرس سرور ریموت دسکتاپ غیرقابل دسترس یا نادرست است. اگر با خطای بالا روبرو هستید، به احتمال زیاد، مشکل این است که رایانه شما نمی تواند نام عمومی FQDN سرور Remote Desktop Gateway را تعیین کند. در برخی موارد، نام عمومی RDGW نمی تواند با نام میزبان مطابقت داشته باشد.

برای رفع این مشکل:

  1. Internet Information Services (IIS) را در سرور ریموت دسکتاپ باز کنید.
  2. به بخش IIS Sites > Default Website > RDWeb > Pages > Application Settings بروید.
  3. برای مقدار DefaultTSGateway، نام عمومی FQDN سرور RD Gateway server خود را وارد کنید و سپس وب سرویس ها را با دستور زیر راه اندازی مجدد کنید:
iisreset

همچنین، گواهی RDGW خود را بررسی کنید. گواهی شما نباید منقضی شده باشد.

می توانید اطلاعات گواهی SSL خود را با رفتن بهServer Manager > Remote Desktop Services > Collections > Your_Collection > Tasks > Edit Deployment Properties > Certificates > RD Gateway > View Details پیدا کنید و تاریخ انقضای گواهینامه را بررسی کنید.

بررسی تاریخ انقضا گواهی نامه SSL

اکنون اتصال باید با موفقیت برقرار شود.


خطا پورت ریموت دسکتاپ با کد خطا 0x904

در نسخه های مدرن ویندوز 10/11 و ویندوز سرور 2016/2019/2022، ممکن است با خطای رایجی با کد خطا 0x904 روبرو شوید.

خطا پورت ریموت دسکتاپ با کد خطا 0x904

این اتفاق اغلب، هنگام اتصال به RDP در یک اتصال شبکه ناپایدار (پهنای باند کافی، گم شدن بسته‌ ها، عدم تطابق رمز گذاری رمز و غیره) یا زمانی که اتصال VPN شما به یک شبکه شرکتی بسیار کند است رخ می دهد. سعی کنید دوباره به VPN خود متصل شوید یا ISP خود را تغییر دهید.


سخن پایانی

در این پست به تمام مواردی که منجر به ایجاد خطا پورت ریموت دسکتاپ می شد اشاره کردیم. در ادامه نحوه رفع خطای RDP را برای هر یک از دلایل بروز این خطا به صورت گام به گام آموزش دادیم. امیدواریم این آموزش در این زمینه به شما کمک کرده باشد.

منبع: theitbros.com

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا