इस लेख में, हम रिमोट डेस्कटॉप लाइसेंसिंग भूमिका की इंस्टॉलेशन, कॉन्फिगरेशन, और सक्रियण पर विचार करेंगे विंडोज सर्वर 2019 और 2016 पर, साथ ही RDS क्लाइंट एक्सेस लाइसेंस (CALs) की इंस्टॉलेशन और सक्रियण।
मैं आपको याद दिलाता हूं कि रिमोट डेस्कटॉप सेशन होस्ट भूमिका की इंस्टॉलेशन के बाद, यूजर्स इसका उपयोग केवल 120 दिनों के ट्रायल पीरियड (इवैल्यूएशन लाइसेंस) के लिए कर सकते हैं, और उसके बाद यूजर्स RDS होस्ट से कनेक्ट नहीं कर सकते। माइक्रोसॉफ्ट लाइसेंसिंग नियमों के अनुसार, RDS फीचर्स का उपयोग करने वाले सभी यूजर्स या डिवाइसेज को लाइसेंस प्राप्त होना चाहिए। RDS क्लाइंट एक्सेस लाइसेंस (RDS CALs) को रजिस्टर और जारी करने के लिए, RDS भूमिका में एक अलग विंडोज सर्विस है जिसे रिमोट डेस्कटॉप लाइसेंस सर्वर कहा जाता है।
विंडोज सर्वर 2019/2016 पर रिमोट डेस्कटॉप लाइसेंसिंग भूमिका इंस्टॉल करें
आप किसी भी डोमेन सर्वर पर रिमोट डेस्कटॉप लाइसेंस सर्विस तैनात कर सकते हैं। इसे RDSH फार्म के सर्वर्स में से एक पर इंस्टॉल करना आवश्यक नहीं है।
इंस्टॉलेशन शुरू करने से पहले, नए सर्वर को टर्मिनल सर्वर लाइसेंस सर्वर्स डोमेन सिक्योरिटी ग्रुप में जोड़ें (या सुनिश्चित करें कि आपके पास इस ग्रुप मेंबरशिप को बदलने की अनुमति है), अन्यथा सर्वर डोमेन यूजर्स को RDS प्रति यूजर CAL जारी नहीं कर पाएगा।
आप सर्वर मैनेजर का उपयोग करके रिमोट डेस्कटॉप लाइसेंसिंग इंस्टॉल कर सकते हैं। ऐसा करने के लिए, रोल्स और फीचर्स जोड़ें विज़ार्ड में रिमोट डेस्कटॉप सर्विसेज भूमिका चुनें।
रोल सर्विस के रूप में रिमोट डेस्कटॉप लाइसेंसिंग चुनें।
भूमिका की इंस्टॉलेशन पूरी होने तक प्रतीक्षा करें।
RDS-लाइसेंसिंग सर्विस को रिमोट डेस्कटॉप लाइसेंसिंग मैनेजर कंसोल (licmgr.exe) का उपयोग करके प्रबंधित किया जाता है।
विंडोज सर्वर में, पावरशेल का उपयोग करके भूमिकाओं और फीचर्स को इंस्टॉल करना आसान है। RDS लाइसेंसिंग सर्विस और RD लाइसेंसिंग डायग्नोसर को इंस्टॉल करने के लिए, बस एक कमांड चलाएं:
Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools
होस्ट पर इंस्टॉल RDS सर्विसेज को सूचीबद्ध करने के लिए, कमांड का उपयोग करें:
Get-WindowsFeature -Name RDS* | Where installed
विंडोज सर्वर पर RDS लाइसेंस सर्वर सक्रिय करना
RDP क्लाइंट्स को लाइसेंस जारी करने के लिए, आपके RDS लाइसेंस सर्वर को सक्रिय किया जाना चाहिए। ऐसा करने के लिए, रिमोट डेस्कटॉप लाइसेंसिंग मैनेजर (licmgr.exe) खोलें, अपने सर्वर के नाम पर राइट-क्लिक करें, और सर्वर सक्रिय करें चुनें।
RDS लाइसेंसिंग सर्वर सक्रियण विज़ार्ड शुरू होगा। यहां आपको अपनी पसंदीदा सक्रियण विधि चुननी होगी। यदि आपका सर्वर इंटरनेट से जुड़ा है, तो यह स्वचालित रूप से माइक्रोसॉफ्ट सर्वर्स से कनेक्ट हो सकता है और RDS लाइसेंस सर्वर को सक्रिय कर सकता है। यदि सर्वर से सीधा इंटरनेट एक्सेस नहीं है, तो आप वेब ब्राउज़र या फोन का उपयोग करके सर्वर को सक्रिय कर सकते हैं।
फिर आपको अपनी कंपनी के बारे में कुछ जानकारी भरनी होगी (कुछ फील्ड्स आवश्यक हैं)।
फिनिश बटन पर क्लिक करना बाकी है।
यदि आप कंसोल में सर्वर नाम पर राइट-क्लिक करते हैं और कॉन्फिगरेशन की समीक्षा करें चुनते हैं, तो आप सत्यापित कर सकते हैं कि RDS लाइसेंस सर्वर सक्रिय है और आपके डोमेन में RDSH क्लाइंट्स को सक्रिय करने के लिए उपयोग किया जा सकता है।
यह लाइसेंस सर्वर एक्टिव डायरेक्टरी में टर्मिनल सर्वर लाइसेंस सर्वर्स ग्रुप का सदस्य है। यह लाइसेंस सर्वर डोमेन में यूजर्स को RDS प्रति यूजर CALs जारी करने में सक्षम होगा, और आप RDS प्रति यूजर CALs के उपयोग को ट्रैक कर पाएंगे।
यह लाइसेंस सर्वर एक्टिव डायरेक्टरी डोमेन सर्विसेज में सर्विस कनेक्शन पॉइंट (SCP) के रूप में पंजीकृत है।
RDS CALs: रिमोट डेस्कटॉप क्लाइंट एक्सेस लाइसेंस के प्रकार
प्रत्येक यूजर या डिवाइस जो रिमोट डेस्कटॉप सेशन होस्ट्स से कनेक्ट होता है, उसके पास एक क्लाइंट एक्सेस लाइसेंस (CAL) होना चाहिए। RDS CALs के दो प्रकार हैं:
- प्रति-डिवाइस CAL – एक कंप्यूटर (डिवाइस) को असाइन किया गया स्थायी लाइसेंस प्रकार जो RDS सर्वर से एक से अधिक बार कनेक्ट होता है (जब कोई डिवाइस पहली बार कनेक्ट होता है, तो उसे एक अस्थायी लाइसेंस जारी किया जाता है)। ये लाइसेंस समवर्ती नहीं हैं, यानी, यदि आपके पास 10 प्रति डिवाइस लाइसेंस हैं, तो केवल 10 होस्ट आपके RDS सर्वर से कनेक्ट हो सकते हैं। वर्तमान OVL RDS CAL को कहा जाता है:
WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP DvcCAL; - प्रति-यूजर CAL – लाइसेंस का वह प्रकार जो एक यूजर को किसी भी संख्या में कंप्यूटर्स/डिवाइसेज से RDS सर्वर से कनेक्ट करने की अनुमति देता है। इस प्रकार का लाइसेंस एक्टिव डायरेक्टरी यूजर से जुड़ा होता है और स्थायी रूप से नहीं, बल्कि एक विशिष्ट अवधि के लिए जारी किया जाता है। लाइसेंस 52 से 89 दिनों (यादृच्छिक संख्या) की अवधि के लिए जारी किया जाता है। इस प्रकार का वर्तमान ओपन वैल्यू लाइसेंस कहलाता है
WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP UsrCAL। यदि आप वर्कग्रुप (डोमेन में नहीं) में RDS 2019 प्रति यूजर CAL का उपयोग करने का प्रयास करते हैं, तो RDSH सर्वर हर 60 मिनट में एक संदेश के साथ यूजर सेशन को जबरन समाप्त कर देगा: "रिमोट डेस्कटॉप लाइसेंस समस्या: आपके रिमोट डेस्कटॉप लाइसेंस में कोई समस्या है, और आपका सेशन 60 मिनट में डिस्कनेक्ट हो जाएगा"। इसलिए, विंडोज वर्कग्रुप वातावरण में RDS सर्वर्स के लिए, आपको केवल डिवाइस लाइसेंसिंग (प्रति डिवाइस RDS CALs) का उपयोग करना होगा।
नोट. हमें ध्यान देना चाहिए कि 2016 RDS CAL को केवल विंडोज सर्वर 2016 या 2019 चलाने वाले लाइसेंसिंग सर्वर पर इंस्टॉल किया जा सकता है। पिछले विंडोज सर्वर वर्जन्स पर RDS CALs इंस्टॉल करना समर्थित नहीं है। आप 2016 RDS CALs को विंडोज सर्वर 2012 R2 लाइसेंसिंग होस्ट पर इंस्टॉल नहीं कर सकते।
विंडोज सर्वर 2016 पर नए RDS CALs 2019 जोड़ने का प्रयास करते समय, एक त्रुटि दिखाई देगी:
RD लाइसेंसिंग मैनेजर लाइसेंस कोड पहचाना नहीं गया। सुनिश्चित करें कि आपने सही लाइसेंस कोड दर्ज किया है।
विंडोज सर्वर 2019/2016 पर RDS CALs इंस्टॉल करना
अब आपको खरीदे गए रिमोट डेस्कटॉप क्लाइंट लाइसेंस (RDS CAL) के पैक को लाइसेंस सर्वर पर इंस्टॉल करना होगा।
रिमोट डेस्कटॉप लाइसेंसिंग मैनेजर में अपने सर्वर पर राइट-क्लिक करें और लाइसेंस इंस्टॉल करें चुनें।
सक्रियण विधि (स्वचालित, ऑनलाइन, या फोन द्वारा) और लाइसेंस प्रोग्राम चुनें (हमारे मामले में, यह एंटरप्राइज एग्रीमेंट है)।
RDS के लिए कई एंटरप्राइज एग्रीमेंट नंबर पहले से ही इंटरनेट पर लीक हो चुके हैं। मुझे लगता है कि नंबर ढूंढना कोई समस्या नहीं होगी (4965437), आपको rds क्रैक्स या एक्टिवेटर्स खोजने की भी आवश्यकता नहीं है।
विज़ार्ड के अगले चरण इस बात पर निर्भर करते हैं कि आपने कौन सा लाइसेंस प्रोग्राम चुना है। एंटरप्राइज एग्रीमेंट के मामले में, आपको उसका नंबर निर्दिष्ट करना होगा। यदि आपने लाइसेंस पैक (रिटेल खरीद) चुना है, तो माइक्रोसॉफ्ट या पार्टनर से मिले 25-कैरेक्टर प्रोडक्ट की दर्ज करें।
प्रोडक्ट वर्जन (विंडोज सर्वर 2019/2016), लाइसेंस प्रकार (RDS प्रति यूजर CAL), और सर्वर पर इंस्टॉल किए जाने वाले लाइसेंस की संख्या निर्दिष्ट करें।
उसके बाद, सर्वर क्लाइंट्स को लाइसेंस (RDS CAL) जारी कर सकता है।
आप RD लाइसेंसिंग मैनेजर कंसोल में लाइसेंस कन्वर्ट करें मेनू आइटम का उपयोग करके RDS यूजर CALs को डिवाइस CALs में (और इसके विपरीत) कन्वर्ट कर सकते हैं।
यदि आप मुफ्त RDS लाइसेंस से बाहर हो गए हैं, तो आप निष्क्रिय कंप्यूटर्स के लिए पहले जारी किए गए RDS डिवाइस CALs को निम्न पावरशेल स्क्रिप्ट का उपयोग करके रद्द कर सकते हैं:
$RevokedPCName="lon-bc1-123"
$licensepacks = Get-WmiObject win32_tslicensekeypack | where {($_.keypacktype -ne 0) -and ($_.keypacktype -ne 4) -and ($_.keypacktype -ne 6)}
$licensepacks.TotalLicenses
$TSLicensesAssigned = gwmi win32_tsissuedlicense | where {$_.licensestatus -eq 2}
$RevokePC = $TSLicensesAssigned | ? sIssuedToComputer -EQ $RevokedPCName
$RevokePC.Revoke()
प्रति-डिवाइस RDS CALs के 20% तक रद्द किए जा सकते हैं। प्रति-यूजर CALs को रद्द नहीं किया जा सकता।
RDS CAL उपयोग रिपोर्ट्स
RDS लाइसेंस कंसोल में, आप लाइसेंस उपयोग रिपोर्ट जनरेट कर सकते हैं। ऐसा करने के लिए, सर्वर संदर्भ मेनू से रिपोर्ट बनाएं -> CAL उपयोग चुनें।
हालांकि, मैं RDS CAL उपयोग की रिपोर्ट के लिए पावरशेल का उपयोग करना पसंद करता हूं। निम्न स्क्रिप्ट सभी RDS CAL पैक्स में शेष लाइसेंस की संख्या दिखाएगी:
Import-Module RemoteDesktopServices -ErrorAction Stop
Set-Location -Path 'rds:' -ErrorAction Stop
$licenses = (Get-Item -Path RDS:\LicenseServer\LicenseKeyPacks\* | Where-Object Name -Like "-Per User-*").Name
$total=0;
$issued=0;
foreach ($license in $licenses) {
$count=(Get-Item -Path RDS:\LicenseServer\LicenseKeyPacks\$license\TotalLicenses).CurrentValue
$total= $total + $count
$count2=(Get-Item -Path RDS:\LicenseServer\LicenseKeyPacks\$license\IssuedLicensesCount).CurrentValue
$issued= $issued + $count2
}
$available = $total - $issued
Write-Host "उपलब्ध कुल लाइसेंस: $available"
आप इस पावरशेल स्क्रिप्ट को Zabbix के माध्यम से चला सकते हैं और अलर्ट सेट कर सकते हैं यदि शेष लाइसेंस की संख्या कम है, उदाहरण के लिए, 5।
निम्न पावरशेल स्क्रिप्ट आपको प्रति यूजर CAL रिपोर्ट जनरेट करने की अनुमति देगी:
Import-Module RemoteDesktopServices -ErrorAction Stop
Set-Location -Path 'rds:' -ErrorAction Stop
$path = "C:\Reports\RDS_CAL_Usage.csv"
$fileName = (Invoke-WmiMethod Win32_TSLicenseReport -Name GenerateReportEx).FileName
$fileEntries = (Get-WmiObject Win32_TSLicenseReport | Where-Object FileName -eq $fileName).FetchReportEntries(0,0).ReportEntries
$objArray = @()
foreach($entry in $fileEntries){
$objArray += $entry | select User, ProductVersion, CALType, ExpirationDate
$objArray[-1].User = $objArray[-1].User.Split('\') | select -Last 1
$time = $objArray[-1].ExpirationDate.Split('.') | select -first 1
$objArray[-1].ExpirationDate = [datetime]::ParseExact($time, "yyyyMMddHHmmss", $null)
}
$objArray | Export-Csv -Path $path -Delimiter ',' -NoTypeInformation
RD लाइसेंस सर्वर से RDS CALs कैसे हटाएं?
यदि आप अपने RDS CAL लाइसेंस पैक्स को एक रिमोट डेस्कटॉप लाइसेंसिंग सर्वर से दूसरे में ले जाना चाहते हैं, तो आप पावरशेल का उपयोग करके लाइसेंसिंग सर्वर से इंस्टॉल RDS CAL लाइसेंस पैक को हटा सकते हैं।
निम्न कमांडलेट का उपयोग करके, आप सर्वर पर इंस्टॉल सभी RDS CAL पैक्स को सूचीबद्ध कर सकते हैं:
Get-WmiObject Win32_TSLicenseKeyPack|select-object KeyPackId,ProductVersion,TypeAndModel,AvailableLicenses,IssuedLicenses |ft
उस RDS CAL पैकेज के लिए KeyPackId मान ढूंढें जिसे आप हटाना चाहते हैं और कमांड चलाएं:
wmic /namespace:\\root\CIMV2 PATH Win32_TSLicenseKeyPack CALL UninstallLicenseKeyPackWithId yourKeyPackId
आप RDS लाइसेंस डेटाबेस को री-क्रिएट करके सभी CALs को पूरी तरह से हटा भी सकते हैं। ऐसा करने के लिए, रिमोट डेस्कटॉप लाइसेंसिंग सर्विस रोकें:
Stop-Service TermServLicensing
फाइल C:\Windows\System32\lserver\TLSLic.edb का नाम बदलकर C:\Windows\System32\lserver\TLSLic.edb_bak करें और सर्विस शुरू करें:
Start-Service TermServLicensing
उसके बाद, सभी RDS CAL लाइसेंस हटा दिए जाएंगे, और आपको उन्हें पुनः सक्रिय करना होगा।
RD सेशन होस्ट्स पर RDS लाइसेंस कॉन्फिगर करना
RDS लाइसेंस सर्वर सक्रिय और चलने के बाद, आप RD सेशन होस्ट को इस सर्वर से CAL लाइसेंस प्राप्त करने के लिए पुनः कॉन्फिगर कर सकते हैं। आप सर्वर मैनेजर GUI, पावरशेल का उपयोग करके, या ग्रुप पॉलिसी का उपयोग करके लाइसेंस प्रकार सेट कर सकते हैं और लाइसेंस सर्वर का नाम निर्दिष्ट कर सकते हैं।
RDS होस्ट पर लाइसेंसिंग सर्वर का नाम/पता बदलने के लिए, सर्वर मैनेजर खोलें -> रिमोट डेस्कटॉप सर्विसेज -> कलेक्शन। ऊपरी दाएं मेनू "कार्य" में "डिप्लॉयमेंट प्रॉपर्टीज संपादित करें" चुनें।
डिप्लॉयमेंट प्रॉपर्टीज में, RD लाइसेंसिंग टैब पर जाएं, रिमोट डेस्कटॉप लाइसेंसिंग मोड चुनें, और RDS लाइसेंस सर्वर सेट करें। जोड़ें -> OK पर क्लिक करें।
यदि RDSH सर्वर पर लाइसेंसिंग प्रकार सेट नहीं है, तो आपको त्रुटि प्राप्त होगी "रिमोट डेस्कटॉप सेशन होस्ट के लिए लाइसेंसिंग मोड कॉन्फिगर नहीं किया गया है"।
आप पावरशेल का उपयोग करके RDS लाइसेंस सर्वर पता और CAL प्रकार बदल सकते हैं:
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
फिर आवश्यक लाइसेंस प्रकार निर्दिष्ट करें:
$obj.ChangeMode(4)
फिर RDS लाइसेंस सर्वर का नाम निर्दिष्ट करें:
$obj.SetSpecifiedLicenseServerList("rdslic2016.woshub.com")
और वर्तमान सेटिंग्स जांचें:
$obj.GetSpecifiedLicenseServerList()
यदि आप ग्रुप पॉलिसी के माध्यम से RDS लाइसेंसिंग सर्वर पैरामीटर्स असाइन करना चाहते हैं, तो आपको एक नया GPO बनाना होगा और इसे RDS सर्वर्स वाले OU से लिंक करना होगा (या आप लोकल ग्रुप पॉलिसी एडिटर – gpedit.msc का उपयोग करके RDS लाइसेंसिंग सर्वर का नाम निर्दिष्ट कर सकते हैं)। RD लाइसेंसिंग सेटिंग्स निम्न GPO सेक्शन के तहत स्थित हैं: कंप्यूटर कॉन्फिगरेशन -> पॉलिसीज -> एडमिन टेम्पलेट्स -> विंडोज कंपोनेंट्स -> रिमोट डेस्कटॉप सर्विसेज -> रिमोट डेस्कटॉप सेशन होस्ट -> लाइसेंसिंग।
दो रिमोट डेस्कटॉप सेटिंग्स हैं जिन्हें हमें कॉन्फिगर करने की आवश्यकता है:
- निर्दिष्ट रिमोट डेस्कटॉप लाइसेंस सर्वर्स का उपयोग करें – लाइसेंस सर्वर का पता सेट किया जाता है;
- रिमोट डेस्कटॉप लाइसेंसिंग मोड सेट करें – RDS CAL लाइसेंस प्रकार चुनें।
RDSH होस्ट RDS लाइसेंसिंग सर्वर से RDS लाइसेंस प्राप्त करने के लिए निम्न नेटवर्क पोर्ट्स का उपयोग करते हैं। सुनिश्चित करें कि वे फायरवॉल (या विंडोज डिफेंडर फायरवॉल) द्वारा ब्लॉक नहीं किए गए हैं:
- TCP/135 – माइक्रोसॉफ्ट RPC;
- UDP/137 – NetBIOS डेटाग्राम सर्विस;
- UDP/138 – NetBIOS नेम रिजॉल्यूशन;
- TCP/139 – NetBIOS सेशन सर्विस;
- TCP/445 – SMB;
- TCP/49152–65535 – RPC डायनामिक एड्रेस रेंज
आप PortQry टूल या Test-NetConnection कमांडलेट का उपयोग करके खुले पोर्ट्स की जांच कर सकते हैं।
रिमोट डेस्कटॉप लाइसेंसिंग डायग्नोसर टूल (lsdiag.msc या एडमिनिस्ट्रेटिव टूल्स -> रिमोट डेस्कटॉप सर्विसेज -> RD लाइसेंसिंग डायग्नोसर) का उपयोग करके RD लाइसेंस सर्वर स्थिति और जारी लाइसेंस की संख्या जांचने का प्रयास करें। RD लाइसेंसिंग डायग्नोसर को RDSH सर्वर्स पर सर्वर मैनेजर का उपयोग करके इंस्टॉल किया जा सकता है (फीचर्स -> रिमोट सर्वर एडमिनिस्ट्रेशन टूल्स -> रोल एडमिनिस्ट्रेशन टूल्स -> रिमोट डेस्कटॉप सर्विसेज टूल्स -> रिमोट डेस्कटॉप लाइसेंसिंग डायग्नोसर टूल्स)।
यदि RDSH सर्वर RDS लाइसेंस सर्वर का उपयोग करने के लिए कॉन्फिगर नहीं है, तो लाइसेंसिंग डायग्नोसर कंसोल में निम्न चेतावनियां दिखाई देंगी:
इस रिमोट डेस्कटॉप सेशन होस्ट सर्वर के लिए लाइसेंस उपलब्ध नहीं हैं, और RD लाइसेंसिंग डायग्नोज ने RDSH के लिए लाइसेंसिंग समस्याओं की पहचान की है।
क्लाइंट्स के लिए उपलब्ध लाइसेंस की संख्या: 0
रिमोट डेस्कटॉप सेशन होस्ट सर्वर के लिए लाइसेंसिंग मोड कॉन्फिगर नहीं किया गया है।
रिमोट डेस्कटॉप सेशन होस्ट सर्वर अपने ग्रेस पीरियड के भीतर है, लेकिन RD सेशन होस्ट सर्वर को किसी लाइसेंस सर्वर के साथ कॉन्फिगर नहीं किया गया है।
यदि आपने विंडोज सर्वर इवैल्यूएशन एडिशन पर RDSH इंस्टॉल किया है, तो इसे गाइड के अनुसार फुल वर्जन में बदलना न भूलें। रूपांतरण के बिना, ऐसे होस्ट पर RDSH सर्विसेज केवल 120 दिनों तक काम करेंगी, भले ही आप इसे सक्रिय RDS लाइसेंस सर्वर पर टार्गेट करें।
यदि कोई चेतावनी नहीं है, और आप संदेश देखते हैं "RD लाइसेंसिंग डायग्नोसर ने रिमोट डेस्कटॉप सेशन होस्ट सर्वर के लिए कोई लाइसेंसिंग समस्या नहीं पहचानी", तो RDSH सर्वर रिमोट यूजर्स और/या डिवाइसेज के लिए RDS CALs सफलतापूर्वक प्राप्त कर सकता है।
नोट. हमारे मामले में, नए लाइसेंस सर्वर पते को निर्दिष्ट करने के बाद RDP क्लाइंट पर निम्न त्रुटि दिखाई देने लगी: "रिमोट सेशन डिस्कनेक्ट हो गया क्योंकि कोई रिमोट डेस्कटॉप लाइसेंस सर्वर लाइसेंस प्रदान करने के लिए उपलब्ध नहीं हैं"। इस समस्या को RDSH सर्वर पर रजिस्ट्री से L$RTMTIMEBOMB कुंजी को हटाकर हल किया जा सकता है।