مشکلات و خطاهای اتصال Remote Desktop را در ویندوز 11/10 برطرف کنید

پروتکل دسکتاپ از راه دور (RDP)(Remote Desktop Protocol (RDP)) یک پروتکل اختصاصی است که توسط  مایکروسافت(Microsoft) ایجاد شده  است که یک رابط گرافیکی برای اتصال به رایانه دیگر از طریق اتصال شبکه در اختیار کاربر قرار می دهد.کاربر از نرم افزار مشتری RDP برای این منظور استفاده می کند، در حالی که کامپیوتر دیگر باید نرم افزار سرور RDP را اجرا کند. (RDP)در این پست، نحوه عیب یابی مشکلات کلی اتصال Remote Desktop(troubleshoot general Remote Desktop connection issues) در ویندوز 11/10 را بررسی خواهیم کرد.

دسکتاپ از راه دور

(Fix Remote Desktop)مشکلات اتصال دسکتاپ از راه دور را برطرف کنید

هنگامی که یک کلاینت دسکتاپ از راه دور کار نمی کند(Remote Desktop client is not working) یا نمی تواند به دسکتاپ راه دور متصل شود(cannot connect to a remote desktop) اما پیام یا علائم دیگری را ارائه نمی دهد که به شناسایی علت کمک کند، مراحل عیب یابی تشریح شده زیر را امتحان کنید .

1] وضعیت پروتکل RDP را در رایانه محلی بررسی کنید(Check)

برای بررسی و تغییر وضعیت پروتکل RDP در رایانه محلی ، باید Remote Desktop را فعال کنید . (enable Remote Desktop)همچنین می توانید Remote Desktop را با استفاده از Command Prompt یا PowerShell فعال کنید(enable Remote Desktop using Command Prompt or PowerShell) .

2] وضعیت پروتکل RDP را در رایانه راه دور بررسی کنید(Check)

وضعیت پروتکل RDP را در رایانه راه دور بررسی کنید

برای بررسی و تغییر وضعیت پروتکل RDP در رایانه راه دور، از اتصال رجیستری شبکه استفاده کنید.

از آنجایی که این یک عملیات رجیستری است، توصیه می شود به عنوان اقدامات پیشگیرانه لازم ، از رجیستری نسخه پشتیبان تهیه کنید(back up the registry)  یا  یک نقطه بازیابی سیستم ایجاد کنید  . پس از اتمام، می توانید به صورت زیر عمل کنید:

  • کلید Windows(Windows) + R را فشار دهید تا گفتگوی Run فراخوانی شود .
  • در کادر محاوره‌ای Run تایپ کرده regeditو Enter را بزنید تا ویرایشگر رجیستری باز شود(open Registry Editor) .
  • در ویرایشگر رجیستری،  File و سپس  Connect Network Registry را انتخاب کنید .
  • در  کادر محاوره ای Select Computer ، نام کامپیوتر راه دور را وارد کنید.
  • بررسی نام ها را(Check Names.) انتخاب کنید.
  • OK را انتخاب کنید .
  • سپس  به مسیر کلید رجیستری زیر بروید یا به آن بروید:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
  • در محل، در سمت راست، روی کلید fDenyTSConnections دوبار کلیک کنید تا ویژگی های آن را ویرایش کنید.
  • برای فعال کردن RDP ، داده های مقدار (Value)fDenyTSConnections را(fDenyTSConnections)  از  1  به  0 تنظیم کنید.

مقدار 0 نشان می دهد که RDP فعال است، در حالی که مقدار 1 نشان می دهد که RDP غیرفعال است.

موارد مرتبط(Related) : گزینه Remote Desktop در ویندوز 10 خاکستری است ،(Remote Desktop option is greyed out)

3] بررسی کنید(Check) که آیا یک شیء خط مشی گروه(Group Policy Object) ( GPO ) RDP را در رایانه محلی مسدود می کند یا خیر

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

اگر نمی‌توانید RDP را در رابط کاربری روشن کنید یا مقدار  fDenyTSConnections  پس از تغییر آن  به  1 برمی‌گردد، ممکن است (1)GPO تنظیمات سطح رایانه را لغو کند.(GPO)

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

  • Windows key + R را فشار دهید تا گفتگوی Run فراخوانی شود.
  • در کادر محاوره‌ای Run، تایپ کرده cmdو سپس CTRL + SHIFT + ENTER را فشار دهید تا open Command Prompt in admin/elevated mode .
  • در پنجره خط فرمان، دستور زیر را تایپ کرده و  Enter را بزنید .
gpresult /H c:\gpresult.html
  • پس از اجرای دستور، gpresult.html را باز کنید.
  • در Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections ، خط‌مشی اجازه دادن به کاربران برای اتصال از راه دور را با استفاده از  خط‌مشی Remote Desktop Services پیدا کنید.(Allow users to connect remotely by using Remote Desktop Services)

اگر تنظیم این خط مشی  فعال(Enabled) باشد ، Group Policy اتصالات (Group Policy)RDP را مسدود نمی کند. اگر تنظیم این خط‌مشی  غیرفعال(Disabled) است ،  Winning GPO را علامت بزنید. این GPO است که اتصالات (GPO)RDP را مسدود می کند.

4] بررسی کنید(Check) که آیا یک GPO RDP را در رایانه راه دور مسدود می کند یا خیر

برای بررسی پیکربندی Group Policy در یک کامپیوتر راه دور، دستور زیر را در اعلان CMD بالا اجرا کنید :

gpresult /S <computer name> /H c:\gpresult-<computer name>.html

فایلی که این دستور تولید می کند ( gpresult-<computer name>.html ) از همان فرمت اطلاعاتی استفاده می کند که نسخه کامپیوتر محلی ( gpresult.html ) استفاده می کند.

5] یک GPO مسدود کننده را تغییر دهید

اصلاح یک GPO مسدود کننده

می توانید این تنظیمات را در ویرایشگر شیء خط مشی گروه(Group Policy Object Editor) ( GPE ) و کنسول مدیریت خط مشی گروه (GPMC) تغییر دهید .

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

با استفاده از GPE، موارد زیر را انجام دهید:

  • Windows key + R را فشار دهید تا گفتگوی Run فراخوانی شود.
  • در کادر محاوره‌ای Run تایپ gpedit.mscکرده و Enter را فشار دهید تا ویرایشگر Group Policy باز شود(open Group Policy Editor) .
  • در ویرایشگر خط مشی گروه محلی(Local Group Policy Editor) ، از پنجره سمت چپ برای پیمایش به مسیر زیر استفاده کنید:
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • در مکان، در سمت راست، روی Allow users to connect remotely with using Remote Desktop Services(Allow users to connect remotely by using Remote Desktop Services) دوبار کلیک کنید تا ویژگی های آن را ویرایش کنید.
  • خط مشی را روی  فعال(Enabled)  یا  پیکربندی نشده تنظیم کنید(Not configured) .
  • روی Apply > OK کلیک کنید و خارج شوید.
  • در رایانه های آسیب دیده، یک پنجره خط فرمان را به عنوان مدیر باز کنید و دستور زیر را اجرا کنید:
 gpupdate /force

با استفاده از GPMC ، به واحد سازمانی (OU) بروید که در آن خط مشی مسدود کردن برای رایانه های آسیب دیده اعمال می شود و خط مشی را از OU حذف کنید.

6] وضعیت خدمات RDP را (RDP)بررسی کنید(Check)

وضعیت خدمات RDP را بررسی کنید

هم در رایانه محلی (مشتری) و هم در رایانه (هدف) راه دور، خدمات زیر باید اجرا شوند:

  • خدمات دسکتاپ از راه دور(Remote Desktop Services) ( TermService )
  • سرویس‌های دسکتاپ از راه دور، تغییر مسیر درگاه(Remote Desktop Services UserMode Port Redirector) حالت کاربر ( UmRdpService )

در هر یک از رایانه ها، اگر یک یا هر دو سرویس اجرا نمی شوند، آنها را راه اندازی کنید.

موارد زیر را انجام دهید:

  • Windows key + R را فشار دهید تا گفتگوی Run فراخوانی شود.
  • در کادر محاوره‌ای Run، تایپ کرده services.mscو Enter را بزنید تا Services باز شود(open Services) .
  • در پنجره Services ، اسکرول کنید و هر دو سرویس فوق را پیدا کنید.
  • (Double-click)برای ویرایش مشخصات آن، روی ورودی دوبار کلیک کنید .
  • در پنجره Properties، روی دکمه Start کلیک کنید.
  • روی OK کلیک کنید .

همچنین می توانید از PowerShell برای مدیریت خدمات به صورت محلی یا از راه دور استفاده کنید (اگر رایانه راه دور برای پذیرش cmdlet های PowerShell راه دور پیکربندی شده باشد ).

7] وضعیت شنونده RDP را (RDP)بررسی کنید(Check)

وضعیت شنونده RDP را بررسی کنید

این روش از PowerShell استفاده می کند زیرا cmdlet های مشابه هم به صورت محلی و هم از راه دور کار می کنند. برای یک رایانه محلی، می‌توانید از خط فرمانی که دارای مجوزهای مدیریتی است نیز استفاده کنید.

برای اتصال به رایانه از راه دور، موارد زیر را انجام دهید:

  • Windows key + X را فشار دهید تا منوی Power User باز شود(open Power User Menu) .
  • روی A(A) روی صفحه کلید ضربه بزنید تا PowerShell در حالت مدیریت/بالا اجرا شود.
  • در کنسول PowerShell ، دستور زیر را تایپ کرده و (PowerShell)Enter را بزنید :
Enter-PSSession -ComputerName <computer name>
  • وارد کنید  qwinsta.

اگر لیست شامل  rdp-tcp  با وضعیت  Listen باشد، همانطور که در تصویر بالا نشان داده شده است، شنونده RDP در حال کار است. (RDP)به مرحله عیب‌یابی (Jump)10](Troubleshooting step 10]) در زیر بروید. در غیر این صورت(Otherwise) ، باید پیکربندی شنونده RDP را از یک رایانه در حال کار صادر کنید.(RDP)

موارد زیر را انجام دهید:

  • به رایانه ای وارد شوید که نسخه سیستم عامل آن مشابه رایانه آسیب دیده است و به رجیستری آن رایانه دسترسی داشته باشید.
  • (Navigate)به ورودی رجیستری زیر بروید یا به آن بروید:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • ورودی را به یک فایل reg صادر کنید(Export the entry to a .reg file) .
  • فایل reg. صادر شده را در رایانه آسیب دیده کپی کنید.
  • برای وارد کردن پیکربندی شنونده RDP ، یک پنجره (RDP)PowerShell را باز کنید که دارای مجوزهای مدیریتی در رایانه آسیب‌دیده است (یا پنجره PowerShell را باز کنید و از راه دور به رایانه آسیب‌دیده متصل شوید).

برای پشتیبان گیری از ورودی رجیستری موجود(To back up the existing registry entry) ، cmdlet زیر را وارد کنید:

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

برای حذف ورودی رجیستری موجود(To remove the existing registry entry) ، cmdlet های زیر را وارد کنید:

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

برای وارد کردن ورودی جدید رجیستری و سپس راه اندازی مجدد سرویس(To import the new registry entry and then restart the service) ، cmdlet های زیر را اجرا کنید. <filename>جانشین را با نام فایل .reg(.reg) صادر شده جایگزین کنید.

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

پس از اتمام اجرای cmdlet ها، می توانید پیکربندی را با امتحان مجدد اتصال دسکتاپ از راه دور آزمایش کنید. اگر هنوز نمی توانید متصل شوید، رایانه آسیب دیده را مجددا راه اندازی کنید.

اگر هنوز نمی توانید متصل شوید، مرحله عیب یابی بعدی را که بررسی وضعیت گواهی امضا شده RDP است(check the status of the RDP self-signed certificate) ادامه دهید .

8] وضعیت گواهی خود امضا شده RDP را (RDP)بررسی کنید(Check)

وضعیت گواهی خود امضا شده RDP را بررسی کنید

اگر هنوز نمی توانید وصل شوید، موارد زیر را انجام دهید:

  • برای فراخوانی پنجره Run، Windows key + R را فشار دهید.
  • در کادر محاوره‌ای Run، تایپ کرده mmcو Enter را بزنید تا کنسول مدیریت مایکروسافت باز شود(open Microsoft Management Console) .
  • روی منوی File کلیک کنید .
  • Add/Remove Snap-in انتخاب کنید .
  • گواهینامه(Certificates)(Select Certificates) ها را از لیست snap-in ها انتخاب کنید  .
  • روی افزودن(Add) کلیک کنید .
  • هنگامی که از شما خواسته شد تا فروشگاه گواهی را برای مدیریت انتخاب کنید،  حساب رایانه را انتخاب کنید.(Computer account.)
  • روی Next کلیک کنید .
  • رایانه آسیب دیده را انتخاب کنید.
  • روی دکمه Finish کلیک کنید.
  • روی OK کلیک کنید .
  • اکنون، در  پوشه  Certificates در (Certificates)Remote Desktop ، گواهی امضا شده RDP را حذف کنید .
  • در رایانه آسیب دیده، سرویس Remote Desktop Services را مجدداً راه اندازی کنید .
  • snap-in Certificates را بازخوانی کنید.
  • اگر گواهی خود امضا شده RDP دوباره ایجاد نشده است، مجوزهای پوشه (RDP)MachineKeys را بررسی کنید.

9] مجوزهای پوشه MachineKeys را (MachineKeys)بررسی کنید(Check)

در رایانه آسیب دیده، موارد زیر را انجام دهید:

  • Windows key + E را فشار دهید تا File Explorer باز شود(open File Explorer) .
  • به مسیر دایرکتوری زیر بروید:
 C:\ProgramData\Microsoft\Crypto\RSA\
  • در مکان مورد نظر، روی MachineKeys کلیک راست کنید ،  Properties را انتخاب کنید،  Security را انتخاب کنید و سپس  Advanced را انتخاب کنید .

مطمئن(Make) شوید که مجوزهای زیر پیکربندی شده اند:

  • BuiltinAdministrators: کنترل کامل(Full control)
  • همه: بخوانید، بنویسید(Read, Write)

10] پورت شنونده RDP را بررسی کنید

پورت شنونده RDP را بررسی کنید

هم در رایانه محلی (مشتری) و هم در رایانه راه دور (هدف)، شنونده RDP باید در پورت 3389 گوش کند. هیچ برنامه دیگری نباید از این پورت استفاده کند.

برای بررسی یا تغییر پورت RDP ، از (RDP)ویرایشگر رجیستری(Registry Editor) استفاده کنید . به عنوان یک اقدام احتیاطی از رجیستری نسخه پشتیبان تهیه کنید یا یک نقطه بازیابی سیستم ایجاد کنید، سپس به صورت زیر ادامه دهید:

  • ویرایشگر رجیستری را باز کنید، File را انتخاب کنید ، سپس  Connect Network Registry را انتخاب کنید .
  • در  کادر محاوره ای Select Computer ، نام کامپیوتر راه دور را وارد کنید.
  • بررسی نام ها را(Check Names.) انتخاب کنید.
  • OK را انتخاب کنید .
  • سپس  به مسیر کلید رجیستری زیر بروید یا به آن بروید:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • در محل، در سمت راست، روی ورودی PortNumber دوبار کلیک کنید تا ویژگی‌های آن را ویرایش کنید.
  • در پنجره خواص، اگر فیلد Value data مقداری غیر از (Value)3389 دارد، آن را به  3389 تغییر دهید.(3389.)
  • برای ذخیره تغییرات روی OK کلیک کنید .
  • سرویس Remote Desktop Services(Remote Desktop Services) را مجددا راه اندازی کنید .

11] بررسی کنید(Check) که برنامه دیگری از همان پورت استفاده نمی کند

موارد زیر را انجام دهید:

  • یک PowerShell را در حالت بالا باز کنید.
  • برای اتصال به یک کامپیوتر راه دور، دستور زیر را اجرا کنید:
 Enter-PSSession -ComputerName <computer name>

سپس دستور زیر را اجرا کنید:

cmd /c 'netstat -ano | find "3389"'
  • به دنبال(Look) ورودی برای پورت TCP 3389 (یا پورت RDP اختصاص داده شده ) با وضعیت  Listening باشید(Listening) .

توجه(Note) : شناسه فرآیند ( PID ) برای فرآیند یا سرویسی که از آن پورت استفاده می کند در زیر ستون PID ظاهر می شود.(PID)

  • برای تعیین اینکه کدام برنامه از پورت 3389 (یا پورت RDP اختصاص داده شده ) استفاده می کند، دستور زیر را وارد کنید:
cmd /c 'tasklist /svc | find "<pid listening on 3389>"'
  • به دنبال(Look) ورودی شماره PID مرتبط با پورت (از  netstat خروجی) باشید. خدمات یا فرآیندهایی که با آن PID مرتبط هستند در ستون سمت راست ظاهر می شوند.
  • اگر برنامه یا سرویسی غیر از خدمات دسکتاپ(Remote Desktop Services) از راه دور ( TermServ.exe ) از پورت استفاده می کند، می توانید با استفاده از یکی از روش های زیر تداخل را حل کنید:

برنامه یا سرویس دیگر را برای استفاده از پورت دیگری پیکربندی کنید (توصیه می شود).

برنامه یا سرویس دیگر را حذف نصب کنید.

RDP را برای استفاده از پورت دیگری پیکربندی کنید و سپس سرویس Remote Desktop Services را مجددا راه اندازی کنید (توصیه نمی شود).

12] بررسی کنید(Check) که آیا فایروال پورت RDP را مسدود می کند یا خیر(RDP)

می‌توانید از ابزار psping  برای آزمایش اینکه آیا می‌توانید با استفاده از پورت 3389 به رایانه آسیب‌دیده دسترسی پیدا کنید یا خیر، استفاده کنید.

موارد زیر را انجام دهید:

  • به رایانه دیگری بروید که تحت تأثیر قرار نگرفته است و psping را دانلود کنید (download) .
  • یک پنجره خط فرمان را به عنوان مدیر باز کنید، به دایرکتوری که  psping را در آن نصب کرده اید تغییر دهید و سپس دستور زیر را وارد کنید:
psping -accepteula <computer IP>:3389
  • خروجی  دستور psping  را برای نتایجی مانند موارد زیر بررسی کنید:

Connecting to <computer IP> : رایانه راه دور قابل دسترسی است.

(0% loss) : همه تلاش‌ها برای اتصال با موفقیت انجام شد.

رایانه راه دور اتصال شبکه را رد کرد(The remote computer refused the network connection) : رایانه راه دور قابل دسترسی نیست.

(100% loss) : همه تلاش ها برای اتصال ناموفق بود.

  • psping  را روی چندین کامپیوتر اجرا کنید(psping)  تا توانایی آنها را برای اتصال به رایانه آسیب دیده آزمایش کنید.
  • توجه داشته باشید که آیا رایانه آسیب دیده اتصالات همه رایانه های دیگر، برخی رایانه های دیگر یا فقط یک رایانه دیگر را مسدود می کند.

مراحل اضافی که می توانید بردارید شامل؛

  • مدیران شبکه خود را درگیر کنید تا تأیید کنند که شبکه به رایانه آسیب‌دیده اجازه ترافیک RDP را می‌دهد.(RDP)
  • پیکربندی‌های هر فایروال بین رایانه‌های مبدا و رایانه آسیب‌دیده (از جمله فایروال ویندوز(Windows Firewall) در رایانه آسیب‌دیده) را بررسی کنید تا مشخص کنید آیا فایروال پورت RDP را مسدود می‌کند یا خیر.(RDP)

امیدواریم این پست بتواند به شما در عیب یابی موفقیت آمیز مشکلات اتصال RDP که ممکن است دارید کمک کند!



About the author

من یک مهندس نرم افزار با تجربه در Xbox Explorer، Microsoft Excel و Windows 8.1 Explorer هستم. در اوقات فراغت دوست دارم بازی های ویدیویی انجام دهم و تلویزیون تماشا کنم. من از دانشگاه یوتا مدرک دارم و در حال حاضر به عنوان مهندس نرم افزار برای یک شرکت بین المللی کار می کنم.



Related posts