Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

RDS विंडोज सर्वर 2016/2019 पर यूजर के RDP सेशन को शैडो (रिमोट कंट्रोल) कैसे करें?

शैडो सेशन मोड RDS एडमिनिस्ट्रेटर्स को यूजर के डेस्कटॉप को देखने और उसके साथ इंटरैक्ट करने की अनुमति देता है। रिमोट डेस्कटॉप शैडोइंग मोड विंडोज सर्वर 2012 R2 और विंडोज 8.1 से शुरू होने वाले विंडोज के सभी आधुनिक वर्जन्स पर काम करता है (विंडोज सर्वर 2012 को छोड़कर, RDP स्टैक के कर्नेल से यूजर मोड में ट्रांसफर के कारण)। इस लेख में, हम देखेंगे कि विंडोज सर्वर 2016 और विंडोज 10 पर सक्रिय RDP यूजर सेशन्स से कनेक्ट करने और प्रबंधित करने के लिए RDS शैडोइंग को कैसे कॉन्फिगर और उपयोग किया जाए।

विंडोज RDP क्लाइंट (mstsc.exe) में शैडो कनेक्शन विकल्प

विंडोज सर्वर 2016/विंडोज 10 पर, बिल्ट-इन RDP क्लाइंट (mstsc.exe) में कई विशेष विकल्प हैं जिनका उपयोग किसी भी यूजर के सक्रिय RDP सेशन से रिमोटली शैडो कनेक्ट करने के लिए किया जा सकता है:

Mstsc.exe [/shadow:sessionID [/v:Servername] [/control] [/noConsentPrompt] [/prompt]]

  • /shadow:ID – निर्दिष्ट ID के साथ यूजर के RDP सेशन से कनेक्ट करें;
  • /v:servername – आप रिमोट RDP/RDS होस्ट का होस्टनाम या IP पता निर्दिष्ट कर सकते हैं। यदि सेट नहीं है, तो कनेक्शन वर्तमान होस्ट पर स्थानीय यूजर सेशन्स से बनाए जाते हैं;
  • /control – यूजर सेशन (डेस्कटॉप) के साथ इंटरैक्ट करने की अनुमति देता है। एडमिनिस्ट्रेटर यूजर के माउस को कंट्रोल कर सकता है, कीबोर्ड से डेटा इनपुट कर सकता है। यदि यह पैरामीटर सेट नहीं है, तो यूजर सेशन व्यू मोड का उपयोग किया जाता है;
  • /noConsentPrompt – यह विकल्प एडमिनिस्ट्रेटर को यूजर से कनेक्शन की पुष्टि करने के लिए कहे बिना किसी भी सेशन से जबरन कनेक्ट करने की अनुमति देता है;
  • /prompt – अन्य क्रेडेंशियल्स के साथ कनेक्ट करने की अनुमति देता है। रिमोट कंप्यूटर से कनेक्ट करने के लिए यूजर नाम और पासवर्ड का अनुरोध किया जाता है।

शैडो सेशन्स का उपयोग एक्टिव डायरेक्टरी डोमेन और वर्कग्रुप दोनों में कंप्यूटर्स और सर्वर्स पर यूजर सेशन्स से कनेक्ट करने के लिए किया जा सकता है। इसके अलावा, उस RDS होस्ट पर एडमिनिस्ट्रेटर विशेषाधिकार होना आवश्यक नहीं है जिस पर यूजर का RDP सेशन चल रहा है। एडमिनिस्ट्रेटर्स RDS शैडोइंग अनुमतियों को किसी भी यूजर अकाउंट को डेलिगेट कर सकते हैं, यहां तक कि नॉन-एडमिन्स को भी (इस पर नीचे और अधिक)।

विंडोज GUI से रिमोट डेस्कटॉप शैडो का उपयोग करना

आप mstsc.exe का उपयोग करके या सीधे सर्वर मैनेजर ग्राफिकल कंसोल से यूजर सेशन से कनेक्ट कर सकते हैं। ऐसा करने के लिए, RDS सर्वर पर सर्वर मैनेजर कंसोल खोलें, रिमोट डेस्कटॉप सर्विसेज सेक्शन पर जाएं -> अपना कलेक्शन चुनें, उदाहरण के लिए QuickSessionCollection।

दाईं ओर की सूची में इस RDS सर्वर पर सेशन वाले यूजर्स की सूची होगी। उस यूजर सेशन पर राइट-क्लिक करें जिससे आप कनेक्ट करना चाहते हैं, ड्रॉप-डाउन मेनू से शैडो चुनें।

आप केवल एक सक्रिय यूजर सेशन से कनेक्ट कर सकते हैं। यदि सेशन डिस्कनेक्टेड स्थिति में है (RDS सेशन लिमिट/टाइमआउट सेटिंग्स के कारण), तो आप ऐसे सेशन से कनेक्ट नहीं कर सकते:

शैडो त्रुटि - निर्दिष्ट सेशन कनेक्टेड नहीं है।

शैडो कनेक्शन पैरामीटर्स वाली एक विंडो दिखाई देगी। आप यूजर के RDP सेशन को देख या नियंत्रित कर सकते हैं। आप यूजर सहमति के लिए संकेत दें विकल्प भी चेक कर सकते हैं।

यदि यह विकल्प चेक किया गया है, तो यूजर के RDP सेशन में निम्न अनुरोध दिखाई देता है:

रिमोट मॉनिटरिंग अनुरोध woshub\administrator आपके सेशन को रिमोटली देखना चाहता है। क्या आप अनुरोध स्वीकार करते हैं?

यदि यूजर कनेक्शन की पुष्टि करता है, तो एडमिनिस्ट्रेटर उसका डेस्कटॉप व्यू मोड में देखेगा, लेकिन इसके साथ इंटरैक्ट नहीं कर पाएगा।

टिप. यूजर सेशन से डिस्कनेक्ट करने और शैडो मोड से बाहर निकलने के लिए, वर्कस्टेशन पर ALT+* दबाएं या RDS सर्वर पर Ctrl+* (यदि कोई वैकल्पिक संयोजन सेट नहीं हैं)।

यदि यूजर एडमिनिस्ट्रेटिव शैडो RDS कनेक्शन को अस्वीकार करता है, तो निम्न संदेश दिखाई देता है:

शैडो त्रुटि: ऑपरेटर या एडमिनिस्ट्रेटर ने अनुरोध अस्वीकार कर दिया।

आप नए विंडोज सर्वर वर्जन्स पर RDP सेशन्स से शैडो कनेक्शन के लिए विंडोज सर्वर 2008 R2 से tsadmin.msc ग्राफिकल स्नैप-इन का उपयोग नहीं कर सकते।
यदि आप पुष्टि के लिए संकेत दिए बिना यूजर के सेशन से कनेक्ट करने का प्रयास करते हैं, तो आपको एक त्रुटि संदेश प्राप्त होता है:

शैडो त्रुटि: ग्रुप पॉलिसी सेटिंग यूजर की सहमति की आवश्यकता के लिए कॉन्फिगर की गई है। पॉलिसी सेटिंग्स के कॉन्फिगरेशन को सत्यापित करें।

यदि आपको यूजर सेशन्स के लिए RDS शैडो कनेक्शन इवेंट्स को ऑडिट करने की आवश्यकता है, तो Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational लॉग से निम्न फिल्टर्ड इवेंट्स का उपयोग करें:

  • इवेंट ID 20508: शैडो व्यू परमिशन ग्रांटेड;
  • इवेंट ID 20503: शैडो व्यू सेशन स्टार्टेड;
  • इवेंट ID 20504: शैडो व्यू सेशन स्टॉप्ड।

GPO का उपयोग करके विंडोज पर RDS शैडो नियम कॉन्फिगर करना

RDS यूजर सेशन्स के रिमोट कंट्रोल के लिए सेटिंग्स को ग्रुप पॉलिसी पैरामीटर रिमोट डेस्कटॉप सर्विसेज यूजर सेशन्स के रिमोट कंट्रोल के लिए नियम सेट करें का उपयोग करके कॉन्फिगर किया जाता है, जो GPO के यूजर और कंप्यूटर सेक्शन्स के तहत स्थित है: पॉलिसीज -> एडमिनिस्ट्रेटिव टेम्पलेट्स -> विंडोज कंपोनेंट्स -> रिमोट डेस्कटॉप सर्विसेज -> रिमोट सेशन होस्ट -> कनेक्शन्स। यह पॉलिसी रजिस्ट्री कुंजी HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services के तहत DWORD Shadow पैरामीटर से मेल खाती है (इस पैरामीटर के मान जो पॉलिसी सेटिंग्स से मेल खाते हैं, ब्रैकेट में निर्दिष्ट हैं)।

इस पॉलिसी का उपयोग निम्न RD शैडो कनेक्शन विकल्पों को कॉन्फिगर करने के लिए किया जा सकता है:

  • कोई रिमोट कंट्रोल अनुमति नहीं (रजिस्ट्री पैरामीटर मान Shadow = 0 से मेल खाता है);
  • यूजर की अनुमति के साथ फुल कंट्रोल (1);
  • यूजर की अनुमति के बिना फुल कंट्रोल (2);
  • यूजर की अनुमति के साथ सेशन देखें (3);
  • यूजर की अनुमति के बिना सेशन देखें (4)।

रजिस्ट्री के माध्यम से सीधे इस पॉलिसी के पैरामीटर को सेट करने के लिए, आप कमांड का उपयोग कर सकते हैं:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4

सेशन शैडो व्यवहार बदलने के बाद, RDP/RDS होस्ट पर ग्रुप पॉलिसी सेटिंग्स अपडेट करें।

आप ऊपर वर्णित पॉलिसी पैरामीटर का उपयोग करके gpmc.msc कंसोल से AD डोमेन में रिमोट शैडो कनेक्शन के नियमों को कॉन्फिगर कर सकते हैं, या ग्रुप पॉलिसी प्रेफरेंसेज का उपयोग करके, जो सीधे रजिस्ट्री पैरामीटर को संशोधित करते हैं (बाद वाला विकल्प आपको ग्रुप पॉलिसी आइटम लेवल टार्गेटिंग का उपयोग करके विशिष्ट कंप्यूटर्स पर पॉलिसी को अधिक सटीक रूप से टार्गेट करने की अनुमति देता है)।

पावरशेल के साथ RDP सेशन शैडोइंग

आप रिमोट डेस्कटॉप सर्विसेज शैडो फीचर्स का उपयोग करके पावरशेल से यूजर के सेशन से कनेक्ट कर सकते हैं। सबसे पहले, आपको RDS होस्ट पर सेशन्स की सूची प्राप्त करने की आवश्यकता है (यूजर सेशन्स को उनकी स्थिति के अनुसार ग्रुप किया जाएगा):

Get-RDUserSession | ft Username, UnifiedSessionId, SessionState, HostServer, ApplicationType -GroupBy Sessionstate

इस सर्वर पर तीन सक्रिय RDP यूजर सेशन्स हैं। आइए सेशन ID 3 वाले यूजर सेशन से कनेक्ट करें:
Mstsc /shadow:3 /control

इसके अलावा, सर्वर पर सभी RDP सेशन्स की सूची प्राप्त करने के लिए (या विंडोज 10 डेस्कटॉप पर जिसे कई RDP कनेक्शन्स की अनुमति है), आप कमांड का उपयोग कर सकते हैं:

quser

या

qwinsta

स्क्रीन पर RDP यूजर सेशन्स, उनके IDs और स्टेट्स की सूची प्रदर्शित होगी: Active या Disconnected।

रिमोट सर्वर पर सेशन्स की सूची दिखाने के लिए, निम्न कमांड चलाएं:

query session /server:servername

रिमोट सर्वर पर यूजर सेशन से कनेक्ट करने के लिए, कमांड का उपयोग करें:

mstsc /v:rdsh2:3389 /shadow:3 /control

डायनामिक पोर्ट रेंज (RPC) 49152 से 65535 का उपयोग डिफ़ॉल्ट TCP/3389 RDP पोर्ट के बजाय रिमोट शैडो कनेक्शन सेशन स्थापित करने के लिए किया जाता है।

RDP यूजर सेशन्स से अधिक सुविधाजनक शैडो कनेक्शन के लिए, आप निम्न बैच स्क्रिप्ट का उपयोग कर सकते हैं। यह आपसे रिमोट RDS सर्वर का नाम दर्ज करने के लिए कहता है, सभी सेशन्स की सूची प्रदर्शित करता है और आपसे उस सेशन (ID) को निर्दिष्ट करने के लिए कहता है जिससे आप कनेक्ट करना चाहते हैं:

shadow.bat

@echo off
set /P rcomp="रिमोट PC का नाम या IP दर्ज करें: "
query session /server:%rcomp%
set /P rid="RDP यूजर ID दर्ज करें: "
start mstsc /shadow:%rid% /v:%rcomp% /control

आप इस बैट फाइल को %Windir%\System32 डायरेक्टरी में सेव कर सकते हैं। परिणामस्वरूप, आपको शैडो कनेक्शन शुरू करने के लिए केवल shadow कमांड चलाने की आवश्यकता है।

कंसोल सेशन से कनेक्ट करने के लिए, आप इस स्क्रिप्ट का उपयोग कर सकते हैं:
shadow_console.bat
@echo off
set /P rcomp="रिमोट PC का नाम या IP दर्ज करें: "
for /f "tokens=3 delims= " %%G in ('query session console /server:%rcomp%') do set rid=%%G
start mstsc /shadow:%rid% /v:%rcomp% /control

आप शैडो कनेक्शन के लिए सरल GUI (shadow_user_rdp_session.ps1) के साथ निम्न पावरशेल स्क्रिप्ट का भी उपयोग कर सकते हैं:

Add-Type -assembly System.Windows.Forms
$Header = "SESSIONNAME", "USERNAME", "ID", "STATUS"
$gForm = New-Object System.Windows.Forms.Form
$gForm.Text ='Shadow Session Connect'
$gForm.Width = 400
$gForm.AutoSize = $true
$dBttn = New-Object System.Windows.Forms.Button
$dBttn.Text = 'Control'
$dBttn.Location = New-Object System.Drawing.Point(15,10)
$gForm.Controls.Add($dBttn)
$dList = New-Object System.Windows.Forms.ListView
$dList.Location = New-Object System.Drawing.Point(0,50)
$dList.Width = $gForm.ClientRectangle.Width
$dList.Height = $gForm.ClientRectangle.Height
$dList.Anchor = "Top, Left, Right, Bottom"
$dList.MultiSelect = $False
$dList.View = 'Details'
$dList.FullRowSelect = 1;
$dList.GridLines = 1
$dList.Scrollable = 1
$gForm.Controls.add($dList)
foreach ($column in $Header){
$dList.Columns.Add($column) | Out-Null
}
$(qwinsta.exe | findstr "Active") -replace "^[\s>]" , "" -replace "\s+" , "," | ConvertFrom-Csv -Header $Header | ForEach-Object {
$dListItem = New-Object System.Windows.Forms.ListViewItem($_.SESSIONNAME)
$dListItem.Subitems.Add($_.USERNAME) | Out-Null
$dListItem.Subitems.Add($_.ID) | Out-Null
$dListItem.Subitems.Add($_.STATUS) | Out-Null
$dList.Items.Add($dListItem) | Out-Null
}
$dBttn.Add_Click(
{
$SelectedItem = $dList.SelectedItems[0]
if ($SelectedItem -eq $null){
[System.Windows.Forms.MessageBox]::Show("कनेक्ट करने के लिए यूजर सेशन चुनें ")
}else{
$session_id = $SelectedItem.subitems[2].text
$(mstsc /shadow:$session_id /control)
#[System.Windows.Forms.MessageBox]::Show($session_id)
}
}
)
$gForm.ShowDialog()

यह स्क्रिप्ट स्थानीय होस्ट पर सक्रिय RDP सेशन्स की सूची के साथ एक सरल ग्राफिकल फॉर्म प्रदर्शित करती है। आपको बस एक यूजर अकाउंट चुनना है और कनेक्ट बटन पर क्लिक करना है।

कंप्यूटर पर पावरशेल स्क्रिप्ट्स (*.ps1) चलाने के लिए, आपको पावरशेल एक्जीक्यूशन पॉलिसी कॉन्फिगर करने की आवश्यकता है।

आप शैडो यूजर कनेक्शन का उपयोग न केवल रिमोट डेस्कटॉप सर्विसेज भूमिका वाले विंडोज सर्वर पर कर सकते हैं, बल्कि विंडोज 10 चलाने वाले यूजर्स के डेस्कटॉप से कनेक्ट करने के लिए भी कर सकते हैं (विंडोज 10 में रिमोट डेस्कटॉप सेशन शैडोइंग मोड का उपयोग)।

नॉन-एडमिन यूजर्स को RDS सेशन्स शैडो करने की अनुमति कैसे दें?

उपरोक्त उदाहरणों में, RDS यूजर सेशन्स से शैडो कनेक्शन का उपयोग करने के लिए RDS सर्वर पर लोकल एडमिनिस्ट्रेटर विशेषाधिकारों की आवश्यकता होती है। हालांकि, आप कंप्यूटर/सर्वर पर लोकल एडमिन अनुमतियां दिए बिना नॉन-एडमिन यूजर को RDP सेशन्स शैडो करने की अनुमति दे सकते हैं।

उदाहरण के लिए, आप AllowRDSShadow ग्रुप के सदस्यों को RDP यूजर सेशन्स से शैडो कनेक्शन का उपयोग करने की अनुमति देना चाहते हैं। एलिवेटेड कमांड प्रॉम्प्ट (cmd.exe) खोलें और कमांड चलाएं:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName="RDP-Tcp") CALL AddAccount "woshub\AllowRDSShadow",2

  1. विंडोज सर्वर 2016 इंस्टॉलेशन: एक व्यापक चरण-दर-चरण ट्यूटोरियल विंडोज सर्वर 2016 इंस्टॉलेशन: एक व्यापक चरण-दर-चरण ट्यूटोरियल

    इस ट्यूटोरियल में विंडोज सर्वर 2016 स्टैंडर्ड इंस्टॉल करने के विस्तृत निर्देश दिए गए हैं। विंडोज सर्वर 2016 3 संस्करणों में आता है: एसेंशियल, स्टैंडर्ड और डेटासेंटर। विंडोज सर्वर 2016 एसेंशियल 25 उपयोगकर्ताओं और 50 डिवाइस तक के छोटे व्यवसायों के लिए आदर्श है और वर्चुअलाइजेशन का समर्थन नहीं करता। वि

  1. चरण-दर-चरण गाइड: विंडोज 2016/2019 लाइसेंस सर्वर्स पर RDS CALs इंस्टॉल करना चरण-दर-चरण गाइड: विंडोज 2016/2019 लाइसेंस सर्वर्स पर RDS CALs इंस्टॉल करना

    यदि आपने पहले से रिमोट डेस्कटॉप लाइसेंस सर्वर इंस्टॉल और एक्टिवेट कर लिया है और आप लाइसेंस सर्वर पर रिमोट डेस्कटॉप सर्विसेज क्लाइंट एक्सेस लाइसेंस (CALs) इंस्टॉल करना चाहते हैं, तो नीचे दिए गए निर्देशों को पढ़ें। विंडोज RDS सर्वर 2019 या सर्वर 2016 पर RDS CALs इंस्टॉल या अतिरिक्त जोड़ने के लिए: 1.

  1. विंडोज 11 में यूजर अकाउंट कंट्रोल अक्षम करें: चरण-दर-चरण गाइड विंडोज 11 में यूजर अकाउंट कंट्रोल अक्षम करें: चरण-दर-चरण गाइड

    विंडोज 11 में, यूजर अकाउंट कंट्रोल (UAC) को विभिन्न तरीकों से बंद किया जा सकता है। UAC एक सुरक्षा उपाय है जो उपयोगकर्ताओं को उन संशोधनों को अनुमोदित करने के लिए प्रेरित करता है जो विभिन्न ऐप्स पीसी पर बनाने का प्रयास कर सकते हैं। डिफ़ॉल्ट रूप से विंडोज 11 में एक UAC प्रॉम्प्ट प्रदर्शित होता है और जब