आप RDS ड्रेन मोड का उपयोग कर सकते हैं दूरस्थ डेस्कटॉप सेवा फ़ार्म में टर्मिनल होस्ट बनाए रखने के लिए। यदि आप अपने RDS सर्वर के लिए ड्रेन मोड को सक्षम करते हैं, तो आप सर्वर को नए उपयोगकर्ता के RDP कनेक्शन स्वीकार करने से रोक सकते हैं, और वर्तमान RD कनेक्शन तब तक सक्रिय रहेंगे जब तक कि उपयोगकर्ता RDS सत्र टाइमआउट द्वारा मैन्युअल रूप से या स्वचालित रूप से लॉग ऑफ नहीं करते। तब आप अपने आरडीएस फार्म ऑपरेशन (अपडेट इंस्टॉल करें, सर्वर या ऐप सेटिंग्स बदलें, कॉन्फ़िगरेशन फाइल अपडेट करें, आदि) को बाधित किए बिना अपने विंडोज सर्वर होस्ट को बनाए रखने में सक्षम होंगे।
सामग्री:
- विंडोज सर्वर रिमोट डेस्कटॉप सर्विसेज पर ड्रेन मोड क्या है?
- RD सत्र सर्वर पर नए उपयोगकर्ता लॉगऑन को कैसे अस्वीकार करें?
- पावरशेल के माध्यम से विंडोज सर्वर आरडीएस होस्ट के लिए ड्रेन मोड सेट करें
विंडोज सर्वर रिमोट डेस्कटॉप सर्विसेज पर ड्रेन मोड क्या है?
ड्रेन मोड विंडोज सर्वर 2008 (टर्मिनल सर्विसेज सर्वर ड्रेन मोड) में दिखाई दिया। जब आप RDS होस्ट को ड्रेन मोड में रखते हैं, तो यह नए उपयोगकर्ता के कनेक्शन को स्वीकार नहीं कर सकता है। एक नियम के रूप में, मोड का उपयोग तब किया जाता है जब सर्वर व्यवस्थापक को संपूर्ण RDS फ़ार्म की उपलब्धता को प्रभावित किए बिना सर्वर को बनाए रखने (Windows अपडेट इंस्टॉल, कॉन्फ़िगर या अपडेट ऐप्स) की आवश्यकता होती है। एक RDS होस्ट तीन प्रकार के ड्रेन मोड में से किसी एक में काम कर सकता है:
- सभी कनेक्शनों को अनुमति दें (एक डिफ़ॉल्ट मोड) - एक आरडी सत्र होस्ट नए कनेक्शन स्वीकार करता है;
- पुन:कनेक्शन की अनुमति दें, लेकिन नए लॉगऑन को रोकें — उपयोगकर्ताओं को मौजूदा सत्रों से फिर से जुड़ने की अनुमति है, लेकिन नए सत्रों की अनुमति नहीं है। यदि आप किसी सर्वर को पुनरारंभ करते हैं, तो उपयोगकर्ता इससे कनेक्ट नहीं हो पाएंगे;
- पुन:कनेक्शन की अनुमति दें, लेकिन सर्वर के पुनरारंभ होने तक नए लॉगऑन को रोकें - यह मोड पिछले वाले के समान है, लेकिन पुनरारंभ होने के बाद, उपयोगकर्ता लॉगऑन मोड सभी कनेक्शनों को अनुमति देने के लिए रीसेट हो जाता है।
आरडी सत्र सर्वर पर नए उपयोगकर्ता लॉगऑन को कैसे अस्वीकार करें?
आप RDS संग्रह सेटिंग्स के माध्यम से अपने RDS होस्ट सर्वर पर ड्रेन मोड को सक्षम कर सकते हैं।
- सर्वर प्रबंधक खोलें -> सभी सर्वर -> और फ़ार्म के सभी RDS सर्वर जोड़ें;
- सर्वर मैनेजर में बाएँ फलक पर दूरस्थ डेस्कटॉप सेवाएँ चुनें। आरडीएस संग्रह चुनें;
HOST SERVERS
में अनुभाग में, उस सर्वर का चयन करें जिसके लिए आप ड्रेन मोड को सक्षम करना चाहते हैं और नए कनेक्शन की अनुमति न दें . चुनें संदर्भ मेनू में।
सक्रिय रिमोट डेस्कटॉप सत्र वाले उपयोगकर्ता सर्वर से पुन:कनेक्ट करने में सक्षम होंगे, जबकि सभी नए कनेक्शन आरडी कनेक्शन ब्रोकर द्वारा आपके आरडीएस फार्म में अन्य मेजबानों को अग्रेषित किए जाएंगे।
आप कमांड प्रॉम्प्ट के माध्यम से RDS होस्ट पर स्थानीय रूप से ड्रेन मोड भी सेट कर सकते हैं। ऐसा करने के लिए, change logon
कमांड का उपयोग किया जाता है।
नए उपयोगकर्ता कनेक्शन को रोकने के लिए, निम्न आदेश चलाएँ:
change logon /drain
New user logons are DISABLED, but reconnections to existing sessions are ENABLED
अब, यदि कोई नया उपयोगकर्ता सीधे RDS होस्ट से कनेक्ट करने का प्रयास करता है (जब RD कनेक्शन ब्रोकर का उपयोग नहीं किया जाता है), तो निम्न त्रुटि प्रकट होती है:
Remote logins are currently disabled.
उसी समय इवेंट आईडी 1070 और TerminalServices-RemoteConnectionManager स्रोत के रूप में एक इवेंट दिखाई देता है RDS होस्ट लॉग में:
A logon request was denied because the RD Session Host server is currently in drain mode and therefore not accepting new user logons. To configure the server to allow new user logons, use the Remote Desktop Services Configuration tool.
निम्न आदेश होस्ट के पुनरारंभ होने तक ड्रेन मोड को सक्षम करता है:
change logon /drainuntilrestart
सक्रिय सत्रों वाले उपयोगकर्ताओं को भी होस्ट से कनेक्ट होने से रोकने के लिए, यह कमांड चलाएँ:
change logon /disable
Session logins are currently DISABLEDयदि आप क्लाइंट सत्र मोड में दूरस्थ डेस्कटॉप सत्र होस्ट से कनेक्टेड हैं, और ऊपर दिए गए कमांड का उपयोग करके अक्षम एक्सेस और लॉग ऑफ (logoff.exe), तो आप केवल कंसोल के माध्यम से सर्वर से कनेक्ट करने में सक्षम होंगे (
mstsc /admin
)।
कनेक्शन की अनुमति देने के लिए, इस कमांड का उपयोग करें:
change logon /enable
यह सुनिश्चित करने के लिए कि आपके RDS सर्वर पर ड्रेन मोड सक्षम है, नीचे कमांड चलाएँ:change logon /query
Session logins are currently ENABLED
यदि आपने change logon
का उपयोग करके अपने सर्वर पर ड्रेन मोड सेट करने का प्रयास किया है। कोड> और निम्न त्रुटि देखें:
Connections are currently ENABLED by Group Policy for this machine, unable to change.
इसका मतलब है कि नाली मोड GPO के माध्यम से कॉन्फ़िगर किया गया है। नीति सेटिंग कहा जाता है उपयोगकर्ताओं को दूरस्थ डेस्कटॉप सेवाओं का उपयोग करके दूरस्थ रूप से कनेक्ट करने की अनुमति दें और आप इसे निम्न GPO अनुभाग के अंतर्गत पा सकते हैं:व्यवस्थापकीय टेम्पलेट -> Windows घटक -> दूरस्थ डेस्कटॉप सेवाएँ -> दूरस्थ डेस्कटॉप सत्र होस्ट -> कनेक्शन।
नीति को अक्षम करें या इसे कॉन्फ़िगर नहीं . पर सेट करें ।
पावरशेल के माध्यम से विंडोज सर्वर आरडीएस होस्ट के लिए ड्रेन मोड सेट करें
आप PowerShell का उपयोग करके RDS होस्ट संग्रह या स्टैंडअलोन RDS सर्वर की ड्रेन मोड सेटिंग प्रबंधित कर सकते हैं:
Import-Module RemoteDesktop
# To deny new RDP connections to the Remote Desktop Services Host
Set-RDSessionHost -SessionHost mun-saprdsh1.woshub.com -NewConnectionAllowed No -ConnectionBroker mun-saprdcb.woshub.com# To allow connections
Set-RDSessionHost -SessionHost mun-saprdsh1.woshub.com -NewConnectionAllowed Yes -ConnectionBroker mun-saprdcb.woshub.com
- WinStationsअक्षम HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\
- TSServerDrainMode HKLM\System\CurrentControlSet\Control\Terminal Server\
उदाहरण के लिए, जब ड्रेन मोड सक्षम होता है, तो रजिस्ट्री मान WinStationsDisabled = 0
पर सेट हो जाते हैं। और TSServerDrainMode = 2
।
आप यह भी सुनिश्चित कर सकते हैं कि आपके होस्ट पर ड्रेन मोड नीचे दी गई पावरशेल स्क्रिप्ट का उपयोग करके सक्षम है:
Get-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices" | %{
if ($_.logons -eq 1){
"Disabled"}
Else {
switch ($_.sessionbrokerdrainmode)
{
0 {"Enabled"}
1 {"DrainUntilRestart"}
2 {"Drain"}
default {"error"}
}
}
}
पावरशेल के माध्यम से ड्रेन मोड को सक्षम करने के लिए (change logon /Drain
. के समान) ):
$temp = (Get-WmiObject win32_terminalservicesetting -N "root\cimv2\terminalservices")
$temp.sessionbrokerdrainmode=2
$temp.put()
RDS होस्ट को सामान्य मोड में रखने के लिए (change logon /enable
), यह कमांड चलाएँ:
$temp = (Get-WmiObject win32_terminalservicesetting -N " root\cimv2\terminalservices ")
$temp.sessionbrokerdrainmode=0
$temp.logons=0
$temp.put()