وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

چرا ریموت دسکتاپ بعد از چند دقیقه قطع می‌شود؟ تنظیم زمان بیکاری Windows Server

آموزش تشخیص قطع، قفل و خروج نشست RDP و تنظیم Session Time Limits در Windows Server با رعایت امنیت و سیاست‌های دامنه.

انتشار:
توسط تیم فنی نت‌آرام
۸ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله چرا ریموت دسکتاپ بعد از چند دقیقه قطع می‌شود؟ تنظیم زمان بیکاری Windows Server در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
به سرور ویندوز وصل شده‌اید، چند دقیقه سراغ کار دیگری می‌روید و وقتی برمی‌گردید پنجره ریموت بسته شده است. ممکن است مشکل از اینترنت باشد، اما گاهی ویندوز عمداً نشست بدون فعالیت را پس از زمان مشخص قطع می‌کند. یک تنظیم دیگر هم می‌تواند بدون قطع ارتباط، فقط صفحه را قفل کند. راه‌حل این حالت‌ها یکسان نیست.
در این آموزش اول تشخیص می‌دهیم چه اتفاقی افتاده، سپس تنظیم مربوط را در Windows Server پیدا می‌کنیم. مثال‌ها برای نسخه‌های رایج Windows Server 2019، 2022 و 2025 هستند؛ نام دقیق گزینه‌ها و امکانات بسته به نسخه، نقش‌های نصب‌شده و سیاست شبکه سازمان ممکن است فرق کند. تغییرات را با حساب مدیر و در زمان مناسب انجام دهید. اگر سرور عضو دامنه شرکت است، سیاست مدیر دامنه ممکن است به تنظیم محلی اولویت داشته باشد.

۱. اول فرق قطع‌شدن، قفل و خروج از حساب را بدانید

این سه اتفاق را جدا کنید:
  • Disconnect یا قطع ارتباط: پنجره ریموت بسته می‌شود، اما نشست معمولاً روی سرور باقی می‌ماند. پس از اتصال مجدد ممکن است همان برنامه‌های باز را ببینید.
  • Lock یا قفل صفحه: ارتباط می‌تواند برقرار بماند، ولی صفحه ورود نمایش داده می‌شود و باید دوباره احراز هویت کنید.
  • Sign out یا خروج: نشست بسته می‌شود و برنامه‌های باز آن نشست هم پایان پیدا می‌کنند. اطلاعات ذخیره‌نشده ممکن است از دست بروند.
بلافاصله بعد از اتفاق، متن دقیق پیام، ساعت، مدت بی‌کاری و اینکه آیا با اتصال مجدد برنامه‌های قبلی را می‌بینید یادداشت کنید. اگر در زمان کار فعال هم قطع می‌شود، به‌احتمال زیاد فقط تنظیم بیکاری را نمی‌توان مقصر دانست.

۲. ببینید نشست روی سرور هنوز وجود دارد یا نه

به سرور وصل شوید. از منوی Start عبارت PowerShell را جست‌وجو کنید، روی آن راست‌کلیک و گزینه Run as administrator را بزنید. سپس بنویسید:
کد / دستورquery user
در ستون STATE، وضعیت Active معمولاً یعنی نشست متصل است و Disc یعنی نشست قطع شده ولی هنوز وجود دارد. ستون IDLE TIME مدت بدون ورودی را نشان می‌دهد. اگر بعد از اتصال دوباره یک نشست دیگر دارید، نام کاربر و شناسه نشست‌ها را با دقت ببینید. به نشست افراد دیگر دست نزنید و برای آزادکردن جا، بدون هماهنگی دستور خروج یا logoff اجرا نکنید.
برای دیدن زمان فعلی سرور و تطبیق آن با ساعت وقوع مشکل:
کد / دستورGet-Date
اختلاف منطقه زمانی را هنگام مقایسه با ساعت رایانه خود در نظر بگیرید. اگر پیام مربوط به پر بودن تعداد نشست‌هاست، از راهنمای محدودیت نشست ریموت دسکتاپ استفاده کنید؛ آن خطا با محدودیت زمان بیکاری فرق دارد.

۳. نشانه‌های قطع‌شدن را در گزارش ویندوز پیدا کنید

در همان PowerShell مدیریتی، رویدادهای اخیر مدیریت نشست ریموت را ببینید:
کد / دستورGet-WinEvent -LogName 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational' -MaxEvents 40 | Select-Object TimeCreated, Id, Message | Format-List
خروجی شامل زمان و متن رویدادهاست. در بسیاری از نسخه‌ها رویدادهای ۲۴ و ۲۵ به‌ترتیب به قطع و اتصال مجدد نشست مربوط‌اند، اما متن رویداد و شرایط همان سرور را هم بخوانید. وجود رویداد قطع به‌تنهایی ثابت نمی‌کند علت، تنظیم بیکاری بوده است. اگر گزارش در سرور شما غیرفعال است یا نام آن در دسترس نیست، Event Viewer را باز کنید و به Applications and Services Logs → Microsoft → Windows → TerminalServices-LocalSessionManager → Operational بروید.
اگر پیام صریح می‌گوید به دلیل دریافت‌نشدن ورودی کاربر نشست پایان یافته، محدودیت بیکاری سرنخ خوبی است. اگر پیام از پایان مدت کل اتصال می‌گوید، تنظیم مدت کل نشست را بررسی کنید. مایکروسافت این تفاوت را در راهنمای رسمی عیب‌یابی نشست RDS توضیح داده است.

۴. محدودیت بیکاری را در Group Policy تنظیم کنید

روی خود سرور کلیدهای Win+R را بزنید، gpedit.msc را وارد کنید و Enter بزنید. سپس به این مسیر بروید:
کد / دستورComputer Configuration Administrative Templates Windows Components Remote Desktop Services Remote Desktop Session Host Session Time Limits
گزینه Set time limit for active but idle Remote Desktop Services sessions را باز کنید. اگر روی Enabled است، مقدار انتخاب‌شده مانند ۳۰ دقیقه یا ۲ ساعت می‌تواند علت قطع‌شدن باشد. زمانی انتخاب کنید که با شیوه کار و سیاست امنیتی شما سازگار است؛ برای نمونه اگر هنگام کار گاهی یک ساعت فعالیت ندارید، می‌توانید با تأیید مدیر شبکه محدودیت مناسب‌تری تعیین کنید.
در همین پوشه دو گزینه را با مورد بیکاری اشتباه نگیرید: Set time limit for active Remote Desktop Services sessions سقف کل مدت نشست فعال را تعیین می‌کند و Set time limit for disconnected sessions زمان نگهداری نشستی را که قبلاً قطع شده مشخص می‌کند. گزینه End session when time limits are reached نیز می‌تواند به‌جای صرفاً قطع‌کردن، نشست را خاتمه دهد؛ اثر آن بر برنامه‌های باز را پیش از تغییر بررسی کنید.
بعد از انتخاب مقدار، روی Apply و OK بزنید. برای اعمال سیاست محلی و سازمانی می‌توانید این دستور را اجرا کنید:
کد / دستورgpupdate /target:computer /force
این دستور همه سیاست‌های رایانه را تازه می‌کند و ممکن است کمی زمان ببرد. پس از آن طبق شرایط، از ریموت قطع و دوباره متصل شوید؛ بعضی تنظیمات برای نشست جدید اعمال می‌شوند. اگر روی سرور دیگری که به آن دسترسی دارید و کاربر دیگری ندارد تست می‌کنید، نتیجه قابل مشاهده‌تر است.
نکته امنیتی: «بدون محدودیت» همیشه انتخاب مناسبی نیست. یک نشست باز روی دستگاهی که دیگران به آن دسترسی دارند می‌تواند خطرساز شود. مدت منطقی، قفل صفحه، احراز هویت و محدودکردن دسترسی شبکه را متناسب با استفاده خود تعیین کنید.

۵. اگر تنظیم محلی تغییر می‌کند ولی مشکل برمی‌گردد

در سازمان‌ها ممکن است Group Policy دامنه، تنظیم محلی را جایگزین کند. این دستور خلاصه سیاست‌های اعمال‌شده به رایانه را نمایش می‌دهد:
کد / دستورgpresult /scope computer /r
در بخش GPOهای اعمال‌شده، نام سیاست‌های مرتبط را یادداشت کنید. برای گزارش جزئی‌تر می‌توانید در PowerShell مدیریتی این دستور را بزنید:
کد / دستورgpresult /h "$env:TEMP\rdp-policy-report.html"
فایل HTML در پوشه موقت همان حساب ذخیره می‌شود؛ مسیر آن را با echo $env:TEMP ببینید و فایل را در مرورگر سرور باز کنید. گزارش ممکن است نام کاربران و ساختار سازمان را داشته باشد. اگر یک سیاست دامنه تنظیم را اعمال می‌کند، با مدیر دامنه همان سیاست را اصلاح کنید؛ تغییر رجیستری محلی معمولاً پس از نوسازی سیاست راه‌حل ماندگار نیست.
برای دیدن مقدار سیاست رایانه، این دستور فقط وضعیت را می‌خواند:
کد / دستورreg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v MaxIdleTime
اگر مقدار وجود نداشت، فقط یعنی در آن مسیر مشخص مقداری ثبت نشده است؛ همچنان ممکن است تنظیم از جای دیگری مانند تنظیمات RDS Collection یا سیاست کاربر اعمال شود. مقادیر مربوط به این محدودیت در رجیستری بر حسب میلی‌ثانیه‌اند؛ مثلاً ۳۶۰۰۰۰۰ میلی‌ثانیه یک ساعت است. مقدار رجیستری را بدون شناخت منبع سیاست تغییر ندهید.
اگر از Remote Desktop Gateway استفاده می‌کنید، مدیر شبکه باید محدودیت اتصال را در تنظیمات Gateway و سیاست دسترسی آن نیز بررسی کند. در مجموعه‌های RDS، تنظیمات نشست در بخش ویژگی‌های Collection نیز ممکن است نقش داشته باشد. این موارد روی هر VPS ساده‌ای وجود ندارند.

۶. اگر پنجره بسته نمی‌شود و فقط صفحه قفل می‌شود

در این حالت ابتدا تنظیم قفل خودکار و محافظ صفحه را بررسی کنید. در سرور، secpol.msc را از Win+R باز کنید و در Local Policies → Security Options گزینه Interactive logon: Machine inactivity limit را ببینید. این تنظیم مربوط به قفل‌شدن در اثر بی‌کاری است، نه لزوماً قطع ارتباط RDP.
محافظ صفحه و الزام ورود دوباره پس از آن نیز ممکن است به سیاست کاربر یا دامنه وابسته باشد. مقدار را مطابق نیاز امنیتی و با هماهنگی مدیر تغییر دهید. اگر تنظیمات پس از مدتی برمی‌گردند، گزارش gpresult را برای پیدا کردن سیاست بالادستی استفاده کنید.

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

اگر قطع‌شدن هنگام کار فعال رخ می‌دهد، مدت‌های آن نامنظم است یا هم‌زمان اینترنت رایانه شما قطع می‌شود، از یک اینترنت دیگر آزمایش کنید. از رایانه ویندوزی خود، نه داخل سرور، در PowerShell بنویسید:
کد / دستورTest-NetConnection -ComputerName SERVER_IP -Port 3389
به‌جای SERVER_IP، IP یا نام واقعی سرور را بگذارید. اگر پورت ریموت شما تغییر کرده، عدد ۳۳۸۹ را با پورت واقعی عوض کنید. TcpTestSucceeded : True نشان می‌دهد آزمون TCP در همان لحظه به پورت رسیده؛ دوام نشست، صحت رمز یا سلامت کامل شبکه را تضمین نمی‌کند. شکست آزمون هم می‌تواند از فایروال، محدودیت دسترسی، سرویس یا مسیر شبکه باشد. پورت RDP را برای حل مشکل بدون محدودیت در اینترنت عمومی باز نکنید.

۸. چطور مطمئن شویم مشکل رفع شده است؟

پس از اصلاح تنظیم، یک نشست آزمایشی با کاربر مجاز باز کنید، زمان شروع را یادداشت کنید و تا پس از مدت قبلی بی‌کار بمانید. نتیجه را با query user و گزارش رویداد مقایسه کنید. اگر قرار است نشست پس از مدت طولانی‌تری قطع شود، محدودیت جدید را نیز واقعاً آزمایش کنید. در پایان تنظیم امنیتی و زمان مناسب استفاده را برای شرایط واقعی خود نگه دارید.
اگر نیاز به محیط مستقل ویندوزی دارید، مشخصات سرور مجازی ایران نت‌آرام را با تعداد کاربران، منابع موردنیاز و نوع دسترسی امن خود مقایسه کنید.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام