Windows Server 2012 R2/2016/2019 पर चल रहे RDS फार्म में एक नया RDSH नोड कॉन्फ़िगर करने का प्रयास करते समय, आपको सिस्टम ट्रे में निम्न चेतावनी पॉपअप संदेश का सामना करना पड़ सकता है:
Licensing mode for the Remote Desktop Session Host is not configured.
Remote Desktop Service will stop working in 104 days.
On the RD Connection Broker server, use Server Manager to specify the Remote Desktop licensing mode and the license server.

त्रुटि संदेश को देखते हुए, RDS होस्ट ग्रेस पीरियड में चल रहा है (120 दिनों की ग्रेस पीरियड के दौरान, आप RDS लाइसेंस सक्रिय किए बिना Remote Desktop Session Host का उपयोग कर सकते हैं)। जब ग्रेस पीरियड समाप्त होता है, तो उपयोगकर्ता RDSH से कनेक्ट नहीं कर पाएंगे, और ट्रे में एक त्रुटि दिखाई देगी:
Remote Desktop Services will stop working because this computer is past grace period and has not contacted at least a valid Windows Server 2012 license server. Click this message to open RD Session Host Server Configuration to use Licensing Diagnosis.
मैंने पहले से ही RDS त्रुटि "The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license" के बारे में लेख में एक समान समस्या का वर्णन किया है, लेकिन यहां स्थिति थोड़ी अलग है।
समस्या के अधिक सटीक निदान के लिए, आपको RD Licensing Diagnoser टूल — lsdiag.msc (Administrative Tools -> Remote Desktop Services -> RD Licensing Diagnoser) चलाना होगा। इसकी विंडो निम्न त्रुटि दिखाती है:
Licenses are not available for the Remote Desktop Session Host server, and RD Licensing Diagnoser has identified licensing problem for the RD Session Host server. Licensing mode for the Remote Desktop Session Host is not configured. The Remote Desktop Session Host server is within its grace period, but the Session Host server has not been configured with any license server.
जैसा कि आप देख सकते हैं, क्लाइंट्स के लिए कोई लाइसेंस उपलब्ध नहीं है, क्योंकि लाइसेंसिंग मोड सेट नहीं है।

इसका मतलब है कि एडमिनिस्ट्रेटर ने RDS लाइसेंसिंग सर्वर और/या लाइसेंसिंग मोड निर्दिष्ट नहीं किया। यह तब भी किया जाना चाहिए जब लाइसेंसिंग प्रकार पहले से ही RDS होस्ट तैनात करते समय निर्दिष्ट किया गया हो (Configure the deployment -> RD Licensing -> Select the Remote Desktop licensing mode)।

आप निम्न PowerShell कमांड का उपयोग करके जांच सकते हैं कि RDS लाइसेंस सर्वर सेट है या नहीं:
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.GetSpecifiedLicenseServerList()

नोट. Get-RDLicenseConfiguration cmdlet अलग, गलत डेटा लौटा सकता है।
यदि RDS लाइसेंस सर्वर सेट नहीं है, तो आप इसे कमांड के साथ निर्दिष्ट कर सकते हैं:
$obj.SetSpecifiedLicenseServerList("uk-rdslic1.woshub.com")
यदि आपको याद नहीं है कि RD License भूमिका किस सर्वर पर इंस्टॉल है, तो आप PowerShell ActiveDirectory मॉड्यूल से Get-ADObject cmdlet का उपयोग करके Active Directory डोमेन में पंजीकृत सभी RDS लाइसेंसिंग सर्वर की सूची प्रदर्शित कर सकते हैं:
Get-ADObject -Filter {objectClass -eq 'serviceConnectionPoint' -and Name -eq 'TermServLicensing'}
RDS लाइसेंसिंग मोड को जबरन सेट करने के कई तरीके हैं।
रजिस्ट्री का उपयोग करना:
रजिस्ट्री कुंजी HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core में DWORD पैरामीटर के मान को LicensingMode नाम से 5 से बदलें:
- 2 – यदि Per Device RDS लाइसेंसिंग मोड उपयोग किया जाता है;
- 4 – यदि Per User लाइसेंसिंग उपयोग की जाती है।

आप regedit.exe के माध्यम से मैन्युअली रजिस्ट्री सेटिंग बदल सकते हैं या रजिस्ट्री प्रबंधन मॉड्यूल से निम्न PowerShell कमांड का उपयोग कर सकते हैं:
# RDS लाइसेंसिंग प्रकार निर्दिष्ट करें: 2 - Per Device CAL, 4 - Per User CAL
$RDSCALMode = 2
# RDS लाइसेंसिंग होस्ट नाम
$RDSlicServer = "uk-rdslic1.woshub.com"
# रजिस्ट्री में सर्वर नाम और लाइसेंसिंग प्रकार सेट करें
New-Item "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers"
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" -Name SpecifiedLicenseServers -Value $RDSlicServer -PropertyType "MultiString"
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core\" -Name "LicensingMode" -Value $RDSCALMode
परिवर्तन करने के बाद, अपने RDSH सर्वर को पुनरारंभ करें।
आप GPO (स्थानीय या डोमेन पॉलिसी) का उपयोग करके RDS लाइसेंस सर्वर पैरामीटर्स भी कॉन्फ़िगर कर सकते हैं। यदि आपका RDS सर्वर वर्कग्रुप में है (Active Directory डोमेन से जुड़ा नहीं है), तो स्थानीय Group Policy Editor gpedit.msc का उपयोग करें। Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing पर जाएं।
हमें दो पॉलिसी चाहिए:
- Use the specified Remote Desktop license servers – पॉलिसी सक्षम करें और RDS लाइसेंस सर्वर एड्रेस निर्दिष्ट करें। यदि लाइसेंस सर्वर उसी सर्वर पर चल रहा है, तो
127.0.0.1टाइप करें;
- Set the Remote Desktop licensing mode – लाइसेंसिंग मोड चुनें। हमारे मामले में, यह Per User है।

अपने सर्वर को पुनरारंभ करने के बाद, RD Licensing Diagnoser खोलें और आपके द्वारा चुने गए उपलब्ध RDS लाइसेंस की संख्या और लाइसेंसिंग मोड की जांच करें।
यदि आपके नेटवर्क पर फ़ायरवॉल उपयोग किया जाता है, तो आपको RDSH होस्ट से RDS लाइसेंसिंग सर्वर तक निम्न पोर्ट खोलने होंगे - TCP:135, UDP:137, UDP:138, TCP:139, TCP:445, TCP:49152–65535 (RPC रेंज)।
आप Test-NetConnection cmdlet का उपयोग करके खुले पोर्ट की जांच कर सकते हैं। यदि पोर्ट स्थानीय Windows Defender फ़ायरवॉल पर बंद हैं, तो आप NetSecurity मॉड्यूल से PowerShell cmdlets का उपयोग करके पोर्ट खोल सकते हैं।

यह भी ध्यान दें कि यदि, उदाहरण के लिए, Windows Server 2012 R2 और RDS 2012 R2 के लिए CAL RD लाइसेंसिंग सर्वर पर इंस्टॉल हैं, तो आप Windows Server 2016/2019 के लिए RDS CAL लाइसेंस इंस्टॉल नहीं कर पाएंगे। "Remote Desktop Licensing mode is not configured" त्रुटि बनी रहती है भले ही आप सही लाइसेंस प्रकार और RDS लाइसेंस सर्वर नाम निर्दिष्ट करें। पुराने Windows Server संस्करण केवल नए संस्करणों के लिए RDS CALs का समर्थन नहीं करते हैं।
इस मामले में RD License Diagnoser विंडो में निम्न संदेश प्रदर्शित होगा:
The Remote Desktop Session Host is in Per User licensing mode and no Redirector Mode, but license server does not have any installed license with the following attributes: Product version: Windows Server 2016 Use RD Licensing Manager to install the appropriate licenses on the license server.

सबसे पहले आपको RD लाइसेंस सर्वर पर Windows Server संस्करण अपग्रेड करना होगा (या एक नया RD लाइसेंस होस्ट तैनात करना होगा)। Windows Server का नया संस्करण (उदाहरण के लिए, WS 2019) Windows Server के सभी पिछले संस्करणों के लिए RDS CALs का समर्थन करता है।
नोट. यदि आपका RDS सर्वर वर्कग्रुप में है, तो लाइसेंसिंग रिपोर्ट जनरेट नहीं होती। हालांकि टर्मिनल RDS लाइसेंस स्वयं क्लाइंट/डिवाइस को सही ढंग से जारी किए जाते हैं। आपको शेष RDS CALs की संख्या स्वयं मॉनिटर करनी होगी।