छाया सत्र मोड आरडीएस प्रशासकों को उपयोगकर्ता के डेस्कटॉप को देखने और बातचीत करने की अनुमति देता है। रिमोट डेस्कटॉप शैडोइंग मोड विंडोज सर्वर 2012 R2 और विंडोज 8.1 से शुरू होने वाले विंडोज के सभी आधुनिक संस्करणों पर काम करता है (विंडोज सर्वर 2012 को छोड़कर, कर्नेल से यूजर मोड में आरडीपी स्टैक के हस्तांतरण के कारण)। इस लेख में, हम देखेंगे कि विंडोज सर्वर 2016 और विंडोज 10 पर सक्रिय आरडीपी उपयोगकर्ता सत्रों को जोड़ने और प्रबंधित करने के लिए आरडीएस शैडोइंग को कैसे कॉन्फ़िगर और उपयोग किया जाए।
सामग्री:
- Windows RDP क्लाइंट (mstsc.exe) में शैडो कनेक्शन विकल्प
- Windows GUI से दूरस्थ डेस्कटॉप छाया का उपयोग करना
- जीपीओ का उपयोग करके विंडोज़ पर आरडीएस छाया नियमों को कॉन्फ़िगर करना
- पावरशेल के साथ आरडीपी सत्र को छायांकित करना
- गैर-व्यवस्थापक उपयोगकर्ताओं को RDS सत्रों की छाया कैसे दें?
Windows RDP क्लाइंट (mstsc.exe) में शैडो कनेक्शन विकल्प
Windows Server 2016/Windows 10 पर, अंतर्निहित RDP क्लाइंट (mstsc.exe
) में कई विशेष विकल्प हैं जिनका उपयोग किसी भी उपयोगकर्ता के सक्रिय RDP सत्र से दूरस्थ रूप से शैडो कनेक्ट करने के लिए किया जा सकता है:
Mstsc.exe [/shadow:sessionID [/v:Servername] [/control] [/noConsentPrompt] [/prompt]]
- /छाया:आईडी - निर्दिष्ट आईडी के साथ उपयोगकर्ता के आरडीपी सत्र से कनेक्ट करें;
- /v:सर्वरनाम - आप दूरस्थ RDP/RDS होस्ट का होस्टनाम या IP पता निर्दिष्ट कर सकते हैं। यदि सेट नहीं है, तो वर्तमान होस्ट पर स्थानीय उपयोगकर्ता सत्रों से कनेक्शन बनाए जाते हैं;
- /नियंत्रण - उपयोगकर्ता सत्र (डेस्कटॉप) के साथ बातचीत करने की अनुमति देता है। व्यवस्थापक कीबोर्ड से उपयोगकर्ता के माउस, इनपुट डेटा को नियंत्रित कर सकता है। यदि यह पैरामीटर सेट नहीं है, तो उपयोगकर्ता के सत्र दृश्य मोड का उपयोग किया जाता है;
- /noConsentPrompt - विकल्प व्यवस्थापक को कनेक्शन की पुष्टि करने के लिए उपयोगकर्ता से पूछे बिना किसी भी सत्र में कनेक्शन को बाध्य करने की अनुमति देता है;
- /शीघ्र - अन्य क्रेडेंशियल्स के साथ जुड़ने की अनुमति देता है। उपयोगकर्ता नाम और पासवर्ड को दूरस्थ कंप्यूटर से कनेक्ट करने का अनुरोध किया जाता है।
छाया सत्रों का उपयोग सक्रिय निर्देशिका डोमेन और कार्यसमूह दोनों में कंप्यूटर और सर्वर पर उपयोगकर्ता सत्रों से कनेक्ट करने के लिए किया जा सकता है। इसके अलावा, उपयोगकर्ता का RDP सत्र चल रहा है, इस पर RDS होस्ट पर व्यवस्थापकीय विशेषाधिकार होना आवश्यक नहीं है। व्यवस्थापक किसी भी उपयोगकर्ता खाते को RDS शैडोइंग अनुमतियाँ सौंप सकते हैं, यहाँ तक कि गैर-व्यवस्थापकों के लिए भी (नीचे इस पर और अधिक)।
Windows GUI से दूरस्थ डेस्कटॉप छाया का उपयोग करना
आप mstsc.exe
. का उपयोग करके उपयोगकर्ता सत्र से जुड़ सकते हैं या सीधे सर्वर मैनेजर ग्राफिकल कंसोल से। ऐसा करने के लिए, RDS सर्वर पर सर्वर मैनेजर कंसोल खोलें, दूरस्थ डेस्कटॉप सेवा अनुभाग पर जाएँ -> अपने संग्रह का चयन करें, उदाहरण के लिए QuickSessionCollection
।
दाईं ओर की सूची में उन उपयोगकर्ताओं की सूची होगी जिनके पास इस RDS सर्वर पर सत्र हैं। अपने इच्छित उपयोगकर्ता सत्र पर राइट-क्लिक करें, छाया . चुनें ड्रॉप-डाउन मेनू से।
आप केवल एक सक्रिय उपयोगकर्ता सत्र से जुड़ सकते हैं। यदि सत्र डिस्कनेक्ट स्थिति में है (आरडीएस सत्र सीमा/समयबाह्य सेटिंग्स के कारण), तो आप ऐसे सत्र से कनेक्ट नहीं हो सकते हैं:
Shadow Error - The specified session is not connected.
शैडो कनेक्शन पैरामीटर वाली एक विंडो दिखाई देगी। आप या तो देख सकते हैं या नियंत्रण उपयोगकर्ता का RDP सत्र। आप उपयोगकर्ता की सहमति के लिए संकेत . भी देख सकते हैं विकल्प।
यदि यह विकल्प चेक किया जाता है, तो उपयोगकर्ता के RDP सत्र में निम्न अनुरोध प्रकट होता है:
Remote Monitoring Request woshub\administrator is requesting to view your session remotely. Do you accept the request?
यदि उपयोगकर्ता कनेक्शन की पुष्टि करता है, तो व्यवस्थापक अपने डेस्कटॉप को देखें . में देखेगा मोड, लेकिन इसके साथ इंटरैक्ट करने में सक्षम नहीं होगा।
युक्ति। उपयोगकर्ता सत्र से डिस्कनेक्ट करने और शैडो मोड से बाहर निकलने के लिए,
ALT+*
कार्य केंद्र पर या Ctrl+*
RDS सर्वर पर (यदि कोई वैकल्पिक संयोजन सेट नहीं है)। यदि कोई उपयोगकर्ता प्रशासनिक छाया आरडीएस कनेक्शन को अस्वीकार करता है, तो निम्न संदेश प्रकट होता है:
Shadow Error: The operator or administrator has refused the request.
आप Windows Server 2008 R2 से tsadmin.msc ग्राफिकल स्नैप-इन का उपयोग Windows सर्वर के नए संस्करणों पर RDP सत्रों के लिए छाया कनेक्शन के लिए नहीं कर सकते।
यदि आप पुष्टि के लिए संकेत दिए बिना किसी उपयोगकर्ता के सत्र से कनेक्ट करने का प्रयास करते हैं, तो आपको एक प्राप्त होता है त्रुटि संदेश:
Shadow Error: The Group Policy setting is configured to require the user’s consent. Verify the configuration of the policy settings.
यदि आपको उपयोगकर्ता सत्रों के लिए RDS शैडो कनेक्शन ईवेंट का ऑडिट करने की आवश्यकता है, तो Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational से निम्न फ़िल्टर किए गए ईवेंट का उपयोग करें लॉग:
- इवेंट आईडी 20508 :शैडो व्यू की अनुमति दी गई;
- इवेंट आईडी 20503 :शैडो व्यू सत्र शुरू हुआ;
- इवेंट आईडी 20504 :छाया दृश्य सत्र रोक दिया गया।
GPO का उपयोग करके विंडोज़ पर RDS शैडो नियम कॉन्फ़िगर करना
RDS उपयोगकर्ता सत्रों के लिए दूरस्थ कनेक्शन के लिए सेटिंग्स समूह नीति पैरामीटर दूरस्थ डेस्कटॉप सेवा उपयोगकर्ता सत्रों के रिमोट कंट्रोल के लिए नियम सेट करें का उपयोग करके कॉन्फ़िगर की गई हैं। , जो GPO के उपयोगकर्ता और कंप्यूटर अनुभागों के अंतर्गत स्थित है: नीतियाँ -> व्यवस्थापकीय टेम्पलेट -> Windows घटक -> दूरस्थ डेस्कटॉप सेवाएँ -> दूरस्थ सत्र होस्ट -> कनेक्शन। यह नीति DWORD छाया . से संबंधित है रजिस्ट्री कुंजी HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
के अंतर्गत पैरामीटर (नीति सेटिंग के अनुरूप इस पैरामीटर के मान कोष्ठक में निर्दिष्ट हैं)।
इस नीति का उपयोग निम्नलिखित 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 सत्र को छायांकित करना
आप PowerShell से उपयोगकर्ता के सत्र से कनेक्ट करने के लिए दूरस्थ डेस्कटॉप सेवा छाया सुविधाओं का भी उपयोग कर सकते हैं। सबसे पहले, आपको आरडीएस होस्ट पर सत्रों की एक सूची प्राप्त करने की आवश्यकता है (उपयोगकर्ता सत्रों को उनकी स्थिति के अनुसार समूहीकृत किया जाएगा):Get-RDUserSession | ft Username, UnifiedSessionId, SessionState, HostServer, ApplicationType -GroupBy Sessionstate
इस सर्वर पर तीन सक्रिय आरडीपी उपयोगकर्ता सत्र हैं। आइए सत्र आईडी 3 के साथ उपयोगकर्ता सत्र से जुड़ें:Mstsc /shadow:3 /control
साथ ही, सर्वर पर सभी आरडीपी सत्रों की सूची प्राप्त करने के लिए (या विंडोज 10 डेस्कटॉप पर जिसमें एकाधिक आरडीपी कनेक्शन की अनुमति है), आप कमांड का उपयोग कर सकते हैं:
quser
या
qwinsta
स्क्रीन RDP उपयोगकर्ता सत्रों, उनकी आईडी और राज्यों की सूची प्रदर्शित करेगी:Active
या Disconnected
।
दूरस्थ सर्वर पर सत्रों की सूची दिखाने के लिए, निम्न कमांड चलाएँ:
query session /server:servername
किसी दूरस्थ सर्वर पर उपयोगकर्ता सत्र से कनेक्ट करने के लिए, कमांड का उपयोग करें:
mstsc /v:rdsh2:3389 /shadow:3 /control
RDP उपयोगकर्ता सत्रों के लिए अधिक सुविधाजनक छाया कनेक्शन के लिए, आप निम्न बैच स्क्रिप्ट का उपयोग कर सकते हैं। यह आपको दूरस्थ आरडीएस सर्वर का नाम दर्ज करने के लिए प्रेरित करता है, सभी सत्रों की एक सूची प्रदर्शित करता है और आपको उस सत्र (आईडी) को निर्दिष्ट करने के लिए प्रेरित करता है जिससे आप कनेक्ट करना चाहते हैं:
छाया.बैट
@echo off
set /P rcomp="Enter name or IP of a Remote PC: "
query session /server:%rcomp%
set /P rid="Enter RDP user ID: "
start mstsc /shadow:%rid% /v:%rcomp% /control
आप इस बैट फ़ाइल को %Windir%\System32
. में सहेज सकते हैं निर्देशिका। परिणामस्वरूप, आपको बस छाया . चलाने की आवश्यकता है छाया कनेक्शन शुरू करने का आदेश।
shadow_console.bat
@echo off
set /P rcomp="Enter name or IP of a Remote PC: "
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 के साथ निम्न PowerShell स्क्रिप्ट का भी उपयोग कर सकते हैं) ) छाया कनेक्शन के लिए:
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("Select a user session to connect ")
}else{
$session_id = $SelectedItem.subitems[2].text
$(mstsc /shadow:$session_id /control)
#[System.Windows.Forms.MessageBox]::Show($session_id)
}
}
)
$gForm.ShowDialog()
यह स्क्रिप्ट स्थानीय होस्ट पर सक्रिय आरडीपी सत्रों की सूची के साथ एक साधारण ग्राफिकल फॉर्म प्रदर्शित करती है। आपको बस एक उपयोगकर्ता खाते का चयन करना है और कनेक्ट . पर क्लिक करना है बटन।
कंप्यूटर पर PowerShell स्क्रिप्ट (*.ps1) चलाने के लिए, आपको PowerShell निष्पादन नीति को कॉन्फ़िगर करने की आवश्यकता है।आप शैडो यूजर कनेक्शन का उपयोग न केवल विंडोज सर्वर पर रिमोट डेस्कटॉप सर्विसेज रोल के साथ कर सकते हैं, बल्कि विंडोज 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