How to Install and Activate the RDS Licensing Role and CALs on Windows Server 2019/2016? | Windows OS Hub

  • Per-User CAL – is the type of license that allows a user to connect to the RDS server from any number of computers/devices. This type of license is associated with an Active Directory user and issued not permanently, but for a specific period of time. The license is issued for a period of 52 to 89 days (random number).  The current Open Value license of this type is called WinRmtDsktpSrvcsCAL 2019 SNGL OLV NL Each AP UsrCAL.    If you try to use RDS 2019 Per User CAL in a workgroup ( not in a sphere ), then the RDSH waiter will forcibly ending a drug user school term every 60 minutes with a message : “ Remote Desktop License publish : There is a problem with your Remote Desktop license, and your seance will be disconnected in 60 minutes ”. Therefore, for RDS servers in a Windows Workgroup environment, you need to use the only device license ( Per Device RDS CALs ). . Remote Desktop License Issue:There is a problem with your Remote Desktop license, and your session will be disconnected in 60 minutesNote. We should note that the 2016 RDS CAL may be installed only on a licensing server running Windows Server 2016 or 2019. Installing RDS CALs to the previous Windows Server versions is not supported. Those, you cannot install 2016 RDS CALs on a Windows Server 2012 R2 licensing host.
    . We should note that the 2016 RDS CAL may be installedon a license server running Windows Server 2016 or 2019. Installing RDS CALs to the previous Windows Server versions is not supported. Those, you can not install 2016 RDS CALs on a Windows Server 2012 R2 licensing host. When trying to add new RDS CALs 2019 on Windows Server 2016, an mistake will appear :

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

    rds license code is not recognized

    Installing RDS CALs on Windows Server 2019/2016

    now you must install the gang of Remote Desktop customer licenses ( RDS CAL ) you have purchased on the License Server .
    Right-click your waiter in Remote Desktop Licensing Manager and choose Install Licenses .
    installing rds CAL
    Select the activation method acting ( automatic, on-line, or by call ) and the license program ( in our event, it is Enterprise Agreement ) .
    many enterprise agreement numbers for RDS have already been leaked on the Internet. I think it won ’ triiodothyronine be a problem to find the numbers ( 4965437 ), you don ’ thyroxine even need to look for rds cracks or activators .
    rds cal - enterprise agreement
    rds cal - agreement number
    The following steps of the charming depend on which license program you have selected. In the lawsuit of an Enterprise Agreement, you must specify its total. If you have chosen License Pack ( Retail Purchase ), enter the 25-character merchandise key you got from Microsoft or a collaborator .
    Specify the product adaptation ( Windows Server 2019/2016 ), license type ( RDS Per user CAL ), and the number of licenses to be installed on the waiter .
    select license type and number of RDS CALs
    After that, the server can issue licenses ( RDS CAL ) to clients .
    You can convert RDS User CALs to Device CALs ( and frailty versa ) using the Convert Licenses menu token in the RD Licensing Manager console table .
    Convert RDS CALs
    If you have run out of free RDS licenses, you can revoke previously issued RDS Device CALs for nonoperational computers using the following PowerShell script :
    $licensepacks = Get-WmiObject win32_tslicensekeypack | where {($_.keypacktype -ne 0) -and ($_.keypacktype -ne 4) -and ($_.keypacktype -ne 6)}
    $TSLicensesAssigned = gwmi win32_tsissuedlicense | where {$_.licensestatus -eq 2}
    $RevokePC = $TSLicensesAssigned | ? sIssuedToComputer -EQ $RevokedPCName

    up to 20 % of Per-Device RDS CALs can be revoked. Per-User CALs can not be revoked .

    RDS CAL Usage Reports

    In the RDS License Console, you can generate a license use report. To do this, select Create Report – > CAL Usage from the server context menu .
    rds cals generate usage report
    however, I prefer to use PowerShell to report RDS CAL custom. The following script will show the remaining number of licenses in all RDS CAL packs :
    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
    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"

    You can run this PowerShell script via Zabbix and set an alert if the remaining number of licenses is less, for exercise, 5 .
    The following Powershell handwriting will allow you to generate a 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

    rds user cals issued report with powershell

    How to Remove RDS CALs from an RD License Server?

    If you want to move your RDS CAL license packs from one Remote Desktop license server to another, you can remove the install RDS CAL license pack from the license server using PowerShell .
    Using the follow cmdlet, you can list all the install RDS CAL packs on the server :
    Get-WmiObject Win32_TSLicenseKeyPack|select-object KeyPackId,ProductVersion,TypeAndModel,AvailableLicenses,IssuedLicenses |ft
    Win32_TSLicenseKeyPack get RDS CAL packs installed
    Find the KeyPackId measure for the RDS CAL package that you want to remove and run the command :
    wmic /namespace:\\root\CIMV2 PATH Win32_TSLicenseKeyPack CALL UninstallLicenseKeyPackWithId yourKeyPackId

    You can besides completely remove all CALs by re-creating the RDS license database. To do this, stop the Remote Desktop Licensing avail :
    Stop-Service TermServLicensing
    Rename the file C:\Windows\System32\lserver\TLSLic.edb to C:\Windows\System32\lserver\TLSLic.edb_bak and start the service :
    Start-Service TermServLicensing
    After that, all RDS CAL licenses will be removed, and you must reactivate them .

    Configuring RDS Licenses on RD Session Hosts

    After the RDS License Server is activated and being run, you can reconfigure RD Session Host to obtain CAL licenses from this server. You can set the license type and specify the name of the license server from the Server Manager GUI, using PowerShell, or Group Policy .
    To change the name/address of the license server on the RDS host, open Server Manager – > Remote Desktop Services – > Collections. In the upper berth right menu “ Tasks ” select “ Edit Deployment Properties ” .
    rds Edit Deployment Properties
    In the deployment properties, go to the RD Licensing tab key, select the Remote Desktop license mode, and set the RDS license server. Click Add – > Ok .
    set rd license server via server manager
    If the license character is not set on the RDSH server, you will receive the mistake “ Licensing mode for the Remote Desktop Session Host is not configured ”. You can change the RDS license server address and CAL type using PowerShell :
    $obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
    then specify the license type you need :
    Note. Enter 4 if the waiter must use Per User license character, and 2, if it is Per Device .
    then specify the name of the RDS License Server :
    And check the current settings :
    If you want to assign the RDS license server parameters via Group Policy, you need to create a newfangled GPO and link it to the OU with RDS servers ( or you can specify the identify of the RDS license server using the Local Group Policy Editor – gpedit.msc ). The RD license settings are located under the following GPO section : Computer Configuration – > Policies – > Admin Templates – > Windows Components – > Remote Desktop Services – > Remote Desktop Session Host – > Licensing .
    There are two Remote Desktop settings that we need to configure :

    • Use the specified Remote Desktop license servers – the address of the License Server is set;
    • Set the Remote Desktop licensing mode – select RDS CAL license type.

    gpo - Use the specified Remote Desktop license servers

    • 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 dynamic address range

    RDSH hosts use the watch net ports to obtain an RDS license from the RDS Licensing waiter. Make surely that they are not blocked by firewalls ( or Windows Defender Firewall ) : You can check for open ports using the PortQry instrument or the Test-NetConnection cmdlet. Try to check the RD License Server condition and the number of the write out licenses using the Remote Desktop Licensing Diagnoser tool ( lsdiag.msc or administrative Tools – > Remote Desktop Services – > RD Licensing Diagnoser ). RD Licensing Diagnoster can be installed on RDSH servers using Server Manager ( Features – > Remote Server Administration Tools – > Role Administration Tools – > Remote Desktop Services Tools – > Remote Desktop Licensing Diagnoser Tools ) .
    If the RDSH server is not configured to use an RDS license server, the take after warnings will appear in the Licensing Diagnoser console :

    • 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.

    rds licensing diagnoser licenses are not available
    If you installed RDSH on the Windows Server Evaluation edition, do not forget to convert it to the entire version according to the guide. Without conversion, RDSH services on such a host will alone work for 120 days, flush if you target it to an trip RDS license waiter. If there are no warnings, and you see the message “ RD Licensing Diagnoser did not identify any license problems for the Remote Desktop Session Host server ”, then the RDSH server can successfully receive RDS CALs for distant users and/or devices .
    RD Licensing Diagnoser did not identify any licensing problems for the Remote Desktop Session Host server

    Note. In our case, after we specified the new License Server address the following error started to appear on the RDP client: “The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license”. The problem can be solved by removing the . In our casing, after we specified the fresh License Server address the follow mistake started to appear on the RDP customer : “ The outback school term was disconnected because there are no Remote Desktop License Servers available to provide a license ”. The problem can be solved by removing the L $ RTMTIMEBOMB key from the register on the RDSH server .

  • source :
    Category : Tech

    About admin

    I am the owner of the website, my purpose is to bring all the most useful information to users.

    Check Also


    Manage participants in a zoom meeting webinar

    Call the people who attend the meet as follows Alternate host host Who scheduled the …

    Leave a Reply

    Your email address will not be published.