डिफ़ॉल्ट रूप से, जब कोई उपयोगकर्ता टर्मिनल क्लाइंट (mstsc.exe, RDCMan या रिमोट डेस्कटॉप HTML5 वेब क्लाइंट) में RDP/RDS सत्र विंडो को ऊपरी दाएं कोने में क्रॉस पर क्लिक करके केवल लॉग ऑफ किए बिना बंद करता है, तो उसका सत्र डिस्कनेक्टेड मोड में चला जाता है। इस मोड में, सभी ऐप्स, खुली फ़ाइलें और विंडोज़ अभी भी रिमोट डेस्कटॉप सर्वर पर चल रहे हैं और संसाधनों का उपभोग कर रहे हैं।
डिफ़ॉल्ट रूप से, विंडोज में उपयोगकर्ता का RDP सत्र डिस्कनेक्टेड स्टेट में तब तक रह सकता है जब तक कि उपयोगकर्ता या एडमिनिस्ट्रेटर द्वारा समाप्त नहीं किया जाता, या जब तक कंप्यूटर रीस्टार्ट नहीं होता। यह काफी सुविधाजनक है, क्योंकि उपयोगकर्ता किसी भी समय अपने पुराने रिमोट डेस्कटॉप सत्र से कनेक्ट हो सकता है और चल रहे प्रोग्राम या खुली फ़ाइलों के साथ काम करना जारी रख सकता है।
निम्न स्क्रीनशॉट में आप देख सकते हैं कि विंडोज सर्वर 2016 चलाने वाले RDS सर्वर पर डिस्कनेक्टेड उपयोगकर्ता सत्र सर्वर RAM का लगभग 40% उपयोग कर रहे हैं। साथ ही, ये सत्र आपके फाइल सर्वर्स पर खुली फ़ाइलों को ब्लॉक कर सकते हैं, ऐप्स में डेटा की गलत सेविंग, रोमिंग प्रोफाइल फ़ोल्डर्स या यूजर प्रोफाइल डिस्क पर समस्याएं पैदा कर सकते हैं।
quser कमांड का उपयोग करके, आप देख सकते हैं कि उपयोगकर्ता RDP सत्र कब शुरू हुआ, यह कितनी देर तक निष्क्रिय रहा और वर्तमान सत्र स्थिति।
निर्दिष्ट समय अवधि में डिस्कनेक्टेड RDP/RDS सत्र को स्वचालित रूप से समाप्त करने के लिए, आपको सत्र सीमाओं (टाइमआउट) को सही ढंग से सेट करने की आवश्यकता है।
यदि आप RDS सर्वर का उपयोग करते हैं, तो आप RDS कलेक्शन सेटिंग्स में Session टैब पर सत्र टाइमआउट पैरामीटर्स कॉन्फिगर कर सकते हैं।
End a disconnected session विकल्प में वह समय अवधि निर्दिष्ट करें जिसके बाद आप डिस्कनेक्टेड रिमोट डेस्कटॉप सत्र को समाप्त करना चाहते हैं (डिफ़ॉल्ट रूप से, सत्र अवधि असीमित है – Never)। आप एक सक्रिय सत्र (Active session limit) का अधिकतम समय और निष्क्रिय सत्र को समाप्त करना (Idle session limit) भी सेट कर सकते हैं। ये हार्ड टाइमआउट RDS कलेक्शन में सभी सत्रों पर लागू होते हैं।
आप लोकल (lusrmgr.msc) या डोमेन उपयोगकर्ता (dsa.msc — एक्टिव डायरेक्टरी यूजर्स एंड कंप्यूटर्स) के गुणों में RDP सत्र की सीमाएं भी निर्धारित कर सकते हैं।
RDP सत्र टाइमआउट को बहुत छोटा बनाना उचित नहीं है, अन्यथा उपयोगकर्ता सत्र निष्क्रिय होने के लगभग तुरंत बाद समाप्त हो जाएंगे।
विंडोज सर्वर 2012 R2/2016/2019 में, आप ग्रुप पॉलिसी का उपयोग करके RDP सत्र टाइमआउट सेट कर सकते हैं। आप इसे या तो डोमेन GPO एडिटर (gpmc.msc) में या RDS सर्वर या क्लाइंट पर लोकल ग्रुप पॉलिसी एडिटर (gpedit.msc) में कर सकते हैं (यदि आप टर्मिनल सर्वर के रूप में विंडोज के डेस्कटॉप संस्करण का उपयोग कर रहे हैं)।
RDP सत्र टाइमआउट की सेटिंग्स GPO के निम्न सेक्शन में स्थित हैं कंप्यूटर कॉन्फिगरेशन -> पॉलिसीज -> एडमिनिस्ट्रेटिव टेम्पलेट्स -> विंडोज कंपोनेंट्स -> रिमोट डेस्कटॉप सर्विसेज -> रिमोट डेस्कटॉप सेशन होस्ट -> सेशन टाइम लिमिट्स। निम्न रिमोट डेस्कटॉप टाइमआउट सेटिंग्स उपलब्ध हैं:
- Set time limit for disconnected session;
- Set time limit for active but idle Remote Desktop Services sessions — पॉलिसी निष्क्रिय RDP सत्रों को समाप्त करने की अनुमति देती है जिनमें कोई उपयोगकर्ता इनपुट नहीं है (जैसे माउस हिलाना या कीबोर्ड पर कुछ टाइप करना);
- Set time limit for active Remote Desktop Services sessions — यह किसी भी RDP सत्र का अधिकतम समय है (यहां तक कि एक सक्रिय भी), जिसके बाद यह डिस्कनेक्ट हो जाता है;
- End Session when time limits are reached — वह समय सेट करता है, जिसके बाद RDP सत्र को डिस्कनेक्ट करने के बजाय समाप्त (लॉगऑफ) कर दिया जाएगा;
- Set time limit for logoff of RemoteApp sessions.
आपको यूजर GPO सेक्शन में वही RDP टाइमआउट सेटिंग्स मिलेंगी: User Configuration -> Administrative Templates -> Windows Components। यूजर सेक्शन से पॉलिसी का उपयोग करके, आप अलग-अलग RDP सत्र लंबाई सीमाओं वाले उपयोगकर्ता समूहों को अधिक लचीले ढंग से कॉन्फिगर कर सकते हैं।
डिफ़ॉल्ट रूप से, ये विकल्प कॉन्फिगर नहीं किए गए हैं। डिस्कनेक्टेड RDP उपयोगकर्ता सत्र को 8 घंटे में स्वचालित रूप से समाप्त करने के लिए, Set time limit for disconnected session पॉलिसी सक्षम करें और ड्रॉपडाउन सूची में 8 hours चुनें।
परिवर्तनों को सहेजें और अपने RD होस्ट पर ग्रुप पॉलिसी सेटिंग्स अपडेट करें (gpupdate /force)। नई टाइमआउट सेटिंग्स केवल नए RDP सत्रों पर लागू होंगी (आपको वर्तमान RDS सत्रों को मैन्युअली समाप्त करना होगा)।
आप रजिस्ट्री के माध्यम से RDP सत्र समय सीमा भी सेट कर सकते हैं। HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services से निम्न DWORD पैरामीटर्स ऊपर वर्णित पॉलिसी से मेल खाते हैं:
- MaxDisconnectionTime
- MaxIdleTime
- MaxConnectionTime
- MaxDisconnectionTime
- RemoteAppLogoffTimeLimit
विंडोज सर्वर 2008 R2 में, आप एक विशेष कंसोल का उपयोग करके RDP सत्र टाइमआउट भी सेट कर सकते थे: tsconfig.msc (RD सेशन होस्ट कॉन्फिगरेशन)। कंसोल खोलना और RDP-Tcp -> Properties पर राइट-क्लिक करना पर्याप्त था। सत्र सीमाओं की सेटिंग्स Sessions टैब पर स्थित हैं। हालांकि, नए विंडोज सर्वर संस्करणों में ऐसा कोई कंसोल नहीं है (हालांकि आप tsadmin.msc और tsconfig.msc फ़ाइलों को मैन्युअली कॉपी कर सकते हैं और इन कंसोल का उपयोग नए विंडोज सर्वर संस्करणों पर भी कर सकते हैं)।