কম্পিউটার টিউটোরিয়াল

উইন্ডোজ সার্ভার ২০১৯/২০১৬-এ RDS লাইসেন্সিং রোল এবং CALs ইনস্টল ও এক্টিভেট করা

এই আর্টিকেলে, আমরা Remote Desktop Licensing রোল উইন্ডোজ সার্ভার ২০১৯ এবং ২০১৬-এ ইনস্টল, কনফিগার, এবং এক্টিভেট করার পদ্ধতি, সেই সাথে RDS ক্লায়েন্ট অ্যাক্সেস লাইসেন্স (CALs) ইনস্টল এবং এক্টিভেট করার পদ্ধতি আলোচনা করব।

আমি আপনাকে মনে করিয়ে দিতে চাই যে Remote Desktop Session Host রোল ইনস্টল করার পর, ব্যবহারকারীরা শুধু ১২০ দিনের ট্রায়াল পিরিয়ড (ইভ্যালুয়েশন লাইসেন্স) এর জন্য এটি ব্যবহার করতে পারেন, এবং তারপর ব্যবহারকারীরা RDS হোস্টে সংযোগ করতে পারবেন না। মাইক্রোসফট লাইসেন্সিং নিয়ম অনুযায়ী, RDS ফিচার ব্যবহারকারী সকল ইউজার বা ডিভাইস লাইসেন্সড থাকতে হবে। RDS ক্লায়েন্ট অ্যাক্সেস লাইসেন্স (RDS CALs) রেজিস্টার এবং ইস্যু করার জন্য RDS রোলের মধ্যে একটি আলাদা উইন্ডোজ সার্ভিস রয়েছে যাকে Remote Desktop License Server বলা হয়।

উইন্ডোজ সার্ভার ২০১৯/২০১৬-এ Remote Desktop Licensing রোল ইনস্টল করা

আপনি যেকোনো ডোমেন সার্ভারে Remote Desktop License সার্ভিস ডিপ্লয় করতে পারেন। এটি RDSH ফার্মের সার্ভারগুলোর মধ্যে যেকোনো একটিতে ইনস্টল করা বাধ্যতামূলক নয়।

ইনস্টলেশন শুরু করার আগে, নতুন সার্ভারটিকে Terminal Server License Servers ডোমেন সিকিউরিটি গ্রুপে যোগ করুন (অথবা নিশ্চিত করুন যে আপনার এই গ্রুপ মেম্বারশিপ পরিবর্তন করার পারমিশন আছে), অন্যথায় সার্ভারটি ডোমেন ব্যবহারকারীদের জন্য RDS Per User CAL ইস্যু করতে পারবে না।

আপনি Server Manager ব্যবহার করে Remote Desktop Licensing ইনস্টল করতে পারেন। এর জন্য, Add Roles and Features Wizard-এ Remote Desktop Services রোল সিলেক্ট করুন।

Remote Desktop Licensing রোল সার্ভিস হিসেবে সিলেক্ট করুন।

রোল ইনস্টলেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন।

RDS-Licensing সার্ভিস Remote Desktop Licensing Manager কনসোল (licmgr.exe) দিয়ে ম্যানেজ করা হয়।

উইন্ডোজ সার্ভারে, পাওয়ারশেল ব্যবহার করে রোল এবং ফিচার ইনস্টল করা সহজ। RDS Licensing Service এবং RD Licensing Diagnoser ইনস্টল করতে শুধু এক কমান্ড চালান:

Install-WindowsFeature RDS-Licensing –IncludeAllSubFeature -IncludeManagementTools

হোস্টে ইনস্টল করা RDS সার্ভিসগুলোর তালিকা পেতে কমান্ড:

Get-WindowsFeature -Name RDS* | Where installed

উইন্ডোজ সার্ভারে RDS লাইসেন্স সার্ভার এক্টিভেট করা

RDP ক্লায়েন্টদের লাইসেন্স ইস্যু করতে হলে, আপনার RDS License Server অবশ্যই এক্টিভেট করা থাকতে হবে। এর জন্য, Remote Desktop Licensing Manager (licmgr.exe) খুলুন, আপনার সার্ভারের নামের ওপর রাইট-ক্লিক করুন, এবং Activate Server সিলেক্ট করুন।

RDS লাইসেন্সিং সার্ভার এক্টিভেশন উইজার্ড শুরু হবে। এখানে আপনাকে আপনার পছন্দের এক্টিভেশন মেথড সিলেক্ট করতে হবে। যদি আপনার সার্ভার ইন্টারনেটের সাথে সংযুক্ত থাকে, তবে এটি স্বয়ংক্রিয়ভাবে মাইক্রোসফট সার্ভারের সাথে সংযোগ করে RDS লাইসেন্স সার্ভার এক্টিভেট করবে। যদি সার্ভার থেকে ডায়রেক্ট ইন্টারনেট অ্যাক্সেস না থাকে, তবে আপনি ওয়েব ব্রাউজার বা ফোন দিয়ে সার্ভার এক্টিভেট করতে পারেন।

তারপর আপনার কোম্পানি সম্পর্কে কিছু তথ্য দিতে হবে (কিছু ফিল্ড বাধ্যতামূলক)।

Finish বাটনে ক্লিক করুন।

যদি কনসোলে সার্ভার নামের ওপর রাইট-ক্লিক করে Review Configuration সিলেক্ট করেন, তবে আপনি যাচাই করতে পারবেন যে RDS License Server এক্টিভেট হয়েছে এবং আপনার ডোমেনে RDSH ক্লায়েন্ট এক্টিভেট করতে ব্যবহার করা যাবে।

  • This license server is a member of the Terminal Server License Servers group in Active Directory. This license server will be able to issue RDS Per User CALs to users in the domain, and you will be able to track the usage of RDS Per User CALs.
  • This license server is registered as a service connection point (SCP) in Active Directory Domain Services.

RDS CALs: রিমোট ডেস্কটপ ক্লায়েন্ট অ্যাক্সেস লাইসেন্সের প্রকারভেদ

RDP ক্লায়েন্ট হিসেবে Remote Desktop Session hosts-এ সংযোগকারী প্রতিটি ব্যবহারকারী বা ডিভাইসের ক্লায়েন্ট অ্যাক্সেস লাইসেন্স (CAL) থাকতে হবে। RDS CALs-এর দুটি প্রকার রয়েছে:

  • Per-Device CAL – এটি একটি পার্মানেন্ট লাইসেন্স টাইপ যা একটি কম্পিউটার (ডিভাইস) কে অ্যাসাইন করা হয় যা RDS সার্ভারের সাথে একাধিকবার সংযোগ করে (যখন একটি ডিভাইস প্রথমবার সংযোগ করে, তবে একটি টেম্পরারি লাইসেন্স ইস্যু হয়)। এই লাইসেন্সগুলো কনকারেন্ট নয়, অর্থাৎ, আপনার ১০টি Per Device লাইসেন্স থাকলে, শুধু ১০টি হোস্ট আপনার RDS সার্ভারের সাথে সংযোগ করতে পারবে। বর্তমান OVL RDS CAL-এর নাম: WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP DvcCAL;
  • Per-User CAL – এটি লাইসেন্স টাইপ যা একজন ব্যবহারকারীকে যেকোনো সংখ্যক কম্পিউটার/ডিভাইস থেকে RDS সার্ভারের সাথে সংযোগ করতে দেয়। এই লাইসেন্স টাইপটি একটি অ্যাক্টিভ ডিরেক্টরি ব্যবহারকারীর সাথে জড়িত এবং এটি পার্মানেন্টলি ইস্যু হয় না, বরং একটি নির্দিষ্ট সময়ের জন্য ইস্যু হয়। লাইসেন্সটি ৫২ থেকে ৮৯ দিনের জন্য ইস্যু হয় (র‍্যান্ডম নম্বর)। বর্তমান ওপেন ভ্যালু লাইসেন্সের নাম WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP UsrCAL। দ্রষ্টব্য. আপনি যদি RDS 2019 Per User CAL ওয়ার্কগ্রুপে (ডোমেনে না) ব্যবহার করার চেষ্টা করেন, তবে RDSH সার্ভার প্রতিটি ৬০ মিনিট পর ব্যবহারকারীর সেশন বাধ্য করে ডিসকানেক্ট করবে বার্তা দিয়ে: “Remote Desktop License Issue: There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutes”। তাই, উইন্ডোজ ওয়ার্কগ্রুপ পরিবেশে RDS সার্ভারের জন্য শুধু ডিভাইস লাইসেন্সিং (Per Device RDS CALs) ব্যবহার করতে হবে।

নোট. আমরা নোট করব যে ২০১৬ RDS CAL শুধু উইন্ডোজ সার্ভার ২০১৬ বা ২০১৯ চলমান লাইসেন্সিং সার্ভারে ইনস্টল করা যায়। পুরনো উইন্ডোজ সার্ভার ভার্সনে RDS CALs ইনস্টল করা সাপোর্টেড নয়। অর্থাৎ, আপনি ২০১৬ RDS CALs উইন্ডোজ সার্ভার ২০১২ R2 লাইসেন্সিং হোস্টে ইনস্টল করতে পারবেন না।

উইন্ডোজ সার্ভার ২০১৬-এ নতুন RDS CALs ২০১৯ যোগ করার চেষ্টা করলে ত্রুটি দেখায়:

RD Licensing Manager The license code is not recognized. Ensure that you have entered the correct license code.

উইন্ডোজ সার্ভার ২০১৯/২০১৬-এ RDS CALs ইনস্টল করা

এখন আপনাকে কেনাকাটা করা রিমোট ডেস্কটপ ক্লায়েন্ট লাইসেন্সের প্যাক (RDS CAL) লাইসেন্স সার্ভারে ইনস্টল করতে হবে।

Remote Desktop Licensing Manager-এ আপনার সার্ভারের ওপর রাইট-ক্লিক করুন এবং Install Licenses সিলেক্ট করুন।

এক্টিভেশন মেথড (অটোমেটিক, অনলাইন, বা ফোন দিয়ে) এবং লাইসেন্স প্রোগ্রাম (আমাদের কেসে, এটি Enterprise Agreement) সিলেক্ট করুন।

RDS-এর জন্য অনেক এন্টারপ্রাইজ অগ্রিমেন্ট নম্বর ইতিমধ্যে ইন্টারনেটে লিক হয়েছে। আমার মতে নম্বরগুলো (4965437) খুঁজে পাওয়া সমস্যা নয়, আপনাকে rds ক্র্যাক বা এক্টিভেটর খুঁজে বের করতে হবে না।

উইজার্ডের পরবর্তী স্টেপগুলো কোন লাইসেন্স প্রোগ্রাম আপনি সিলেক্ট করেছেন তার ওপর নির্ভর করে। এন্টারপ্রাইজ অগ্রিমেন্টের কেসে, আপনাকে এর নম্বর নির্দিষ্ট করতে হবে। আপনি যদি License Pack (Retail Purchase) বেছে নেন, তবে মাইক্রোসফট বা পার্টনার থেকে পাওয়া ২৫-অক্ষরের প্রোডাক্ট কী দিন।

প্রোডাক্ট ভার্সন (Windows Server 2019/2016), লাইসেন্স টাইপ (RDS Per user CAL), এবং সার্ভারে ইনস্টল করার লাইসেন্সের সংখ্যা নির্দিষ্ট করুন।

এখানেক, সার্ভার ক্লায়েন্টদের লাইসেন্স (RDS CAL) ইস্যু করতে পারবে।

RD Licensing Manager কনসোলে Convert Licenses মেনু আইটেম ব্যবহার করে RDS User CALs কে Device CALs-এ (এবং বিপরীতভাবে) কনভার্ট করা যায়।

যদি আপনার ফ্রি RDS লাইসেন্স শেষ হয়ে যায়, তবে আপনি পূর্বে ইস্যু করা নিষ্ক্রিয় কম্পিউটারদের জন্য RDS Device 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()

Per-Device RDS CALs-এর ২০% পর্যন্ত রিভোক করা যায়। Per-User CALs রিভোক করা যায় না।

RDS CAL ব্যবহার রিপোর্ট

RDS লাইসেন্স কনসোলে, আপনি লাইসেন্স ব্যবহার রিপোর্ট জেনারেট করতে পারেন। এর জন্য, সার্ভার কনটেক্সট মেনু থেকে Create Report -> CAL Usage সিলেক্ট করুন।

যেসব, আমি 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 "Total Licenses available: $available"

আপনি এই পাওয়ারশেল স্ক্রিপ্টটি Zabbix-এর মাধ্যমে চালাতে পারেন এবং অ্যালার্ট সেট করতে পারেন যদি অবশিষ্ট লাইসেন্সের সংখ্যা কম হয়, উদাহরণস্বরূপ, ৫।

নিচের Powershell স্ক্রিপ্ট আপনাকে Per User CAL Report জেনারেট করতে দেবে:

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 লাইসেন্স প্যাক এক Remote Desktop লাইসেন্সিং সার্ভার থেকে অন্যটিতে সরাতে চান, তবে আপনি পাওয়ারশেল ব্যবহার করে লাইসেন্সিং সার্ভার থেকে ইনস্টল করা 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 সম্পূর্ণ সরাতে পারেন। এর জন্য, Remote Desktop Licensing সার্ভিস বন্ধ করুন:

Stop-Service TermServLicensing

ফাইল C:\Windows\System32\lserver\TLSLic.edb কে C:\Windows\System32\lserver\TLSLic.edb_bak হিসেবে রিনেম করুন এবং সার্ভিস শুরু করুন:

Start-Service TermServLicensing

এইমাত্রে, সকল RDS CAL লাইসেন্স সরিয়ে যাবে, এবং আপনাকে সেগুলো পুনরায় এক্টিভেট করতে হবে।

RD Session Host-এ RDS লাইসেন্স কনফিগার করা

RDS License Server এক্টিভেট এবং রান হওয়ার পর, আপনি এই সার্ভার থেকে CAL লাইসেন্স পেতে RD Session Host-কে রিকনফিগার করতে পারেন। আপনি Server Manager GUI, পাওয়ারশেল, বা গ্রুপ পলিসি ব্যবহার করে লাইসেন্স টাইপ এবং লাইসেন্স সার্ভারের নাম নির্দিষ্ট করতে পারেন।

RDS হোস্টে লাইসেন্সিং সার্ভারের নাম/ঠিকানা পরিবর্তন করতে, Server Manager -> Remote Desktop Services -> Collections খুলুন। উপরের ডান মেনু “Tasks” থেকে “Edit Deployment Properties” সিলেক্ট করুন।

ডিপ্লয়মেন্ট প্রপার্টিতে, RD Licensing ট্যাবে যান, Remote Desktop লাইসেন্সিং মোড সিলেক্ট করুন, এবং RDS লাইসেন্স সার্ভার সেট করুন। Add -> Ok ক্লিক করুন।

যদি RDSH সার্ভারে লাইসেন্সিং টাইপ সেট না থাকে, তবে আপনি ত্রুটি পাবেন “Licensing mode for the Remote Desktop Session Host is not configured”。

আপনি পাওয়ারশেল ব্যবহার করে RDS লাইসেন্স সার্ভারের ঠিকানা এবং CAL টাইপ পরিবর্তন করতে পারেন:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

তারপর আপনার প্রয়োজনীয় লাইসেন্স টাইপ নির্দিষ্ট করুন:

$obj.ChangeMode(4)

নোট. সার্ভার যদি Per User লাইসেন্সিং টাইপ ব্যবহার করতে চায় তবে 4 দিন, এবং যদি Per Device হয় তবে 2 দিন।

তারপর RDS License Server-এর নাম নির্দিষ্ট করুন:

$obj.SetSpecifiedLicenseServerList("rdslic2016.woshub.com")

এবং বর্তমান সেটিংস চেক করুন:

$obj.GetSpecifiedLicenseServerList()

আপনি যদি গ্রুপ পলিসি দিয়ে RDS লাইসেন্সিং সার্ভার প্যারামিটার অ্যাসাইন করতে চান, তবে একটি নতুন GPO তৈরি করুন এবং RDS সার্ভার থাকা OU-এ লিংক করুন (অথবা আপনি Local Group Policy Editor – gpedit.msc ব্যবহার করে RDS লাইসেন্সিং সার্ভারের নাম নির্দিষ্ট করতে পারেন)। RD লাইসেন্সিং সেটিংস নিচের GPO সেকশনে পাওয়া যায়: Computer Configuration -> Policies -> Admin Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing।

দুটি Remote Desktop সেটিং আছে যা আমাদের কনফিগার করতে হবে:

  • Use the specified Remote Desktop license servers – লাইসেন্স সার্ভারের ঠিকানা সেট করা হয়;
  • Set the Remote Desktop licensing mode – RDS CAL লাইসেন্স টাইপ সিলেক্ট করুন।

RDSH হোস্টগুলো RDS লাইসেন্সিং সার্ভার থেকে RDS লাইসেন্স পেতে নিচের নেটওয়ার্ক পোর্টগুলো ব্যবহার করে। নিশ্চিত করুন যে ফায়ারওয়াল (বা Windows Defender Firewall) দ্বারা এগুলো ব্লক করা নয়:

  • TCP/135 – Microsoft RPC;
  • UDP/137 – NetBIOS Datagram Service;
  • UDP/138 – NetBIOS Name Resolution;
  • TCP/139 – NetBIOS Session Service;
  • TCP/445 – SMB;
  • TCP/49152–65535 – RPC ডাইনামিক অ্যাড্রেস রেঞ্জ

আপনি PortQry টুল বা Test-NetConnection সিএমডলেট ব্যবহার করে ওপেন পোর্ট চেক করতে পারেন।

Remote Desktop Licensing Diagnoser টুল (lsdiag.msc বা Administrative Tools -> Remote Desktop Services -> RD Licensing Diagnoser) ব্যবহার করে RD License Server-এর স্ট্যাটাস এবং ইস্যু করা লাইসেন্সের সংখ্যা চেক করার চেষ্টা করুন। RD Licensing Diagnoser RDSH সার্ভারগুলোতে Server Manager দিয়ে ইনস্টল করা যায় (Features -> Remote Server Administration Tools -> Role Administration Tools -> Remote Desktop Services Tools -> Remote Desktop Licensing Diagnoser Tools)।

যদি RDSH সার্ভার RDS লাইসেন্স সার্ভার ব্যবহার করার জন্য কনফিগার না থাকে, তবে Licensing Diagnoser কনসোলে নিচের সতর্কতা দেখা যাবে:

  • Licenses are not available for this Remoter Desktop Session Host server, and RD Licensing Diagnose has identified licensing problems for the RDSH.
  • Number of licenses available for clients: 0
  • The licensing mode for the Remote Desktop Session Host server is not configured.
  • Remote Desktop Session Host server is within its grace period, but the RD Session Host server has not been configured with any license server.

আপনি যদি উইন্ডোজ সার্ভার Evaluation edition-এ RDSH ইনস্টল করে থাকেন, তবে গাইড অনুযায়ী এটি ফুল ভার্সনে কনভার্ট করুন। কনভার্সন ছাড়া, এমন হোস্টে RDSH সার্ভিস শুধু ১২০ দিন কাজ করবে, এমনকি আপনি এটিকে এক্টিভেট করা RDS লাইসেন্স সার্ভারের সাথে টার্গেট করলেও।

যদি কোনো সতর্কতা নেই, এবং আপনি বার্তা দেখেন “RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host server”, তবে RDSH সার্ভার রিমোট ব্যবহারকারী এবং/অথবা ডিভাইসের জন্য RDS CALs সফলভাবে পেতে পারবে।

নোট. আমাদের কেসে, নতুন License Server ঠিকানা নির্দিষ্ট করার পর RDP ক্লায়েন্টে নিচের ত্রুটি দেখা দিয়ে শুরু হয়: “The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license”। সমস্যাটি RDSH সার্ভারের রেজিস্ট্রি থেকে L$RTMTIMEBOMB কী সরিয়ে সমাধান করা যায়।

  1. সার্ভার ২০১৬ RDS-এ অফিস ২০১৬ ইনস্টলেশন: ধাপে ধাপে গাইড

  2. Windows Server 2016/2019-এ F8 কী সক্রিয় করে Safe Mode অ্যাক্সেস করুন – ধাপে ধাপে গাইড

  3. স্টেপ-বাই-স্টেপ গাইড: উইন্ডোজ সার্ভার ২০১৬ ও ২০১৯-এ অ্যাডোব ফ্ল্যাশ প্লেয়ার ইনস্টল করুন

  4. স্টেপ-বাই-স্টেপ গাইড: উইন্ডোজ ২০১৬/২০১৯ লাইসেন্স সার্ভারে RDS CALs ইনস্টল করুন