Citrix Terminal Server Licensing Monitor

Citrix.PresentationServer.TermSrvFailedToDiscoverLicenseServer.Monitor (UnitMonitor)

Monitors and detects if Citrix Terminal Server fails to discover license server

Knowledge Base article:

Citrix ® Management Pack

Summary

Terminal Server failed to discover License Server. This is caused by an expired grace period for installing or activating licenses.

 
Causes
  • Event 1010: The terminal server could not locate a license server. Confirm that all license servers on the network are registered in Windows Internet Name Service (WINS) or Domain Name System (DNS), are accepting network requests, and that the Terminal Server Licensing service is running.
  • Event 1026: The terminal server could not locate a license server. Confirm that all license servers on the network are registered in Windows Internet Name Service (WINS) or Domain Name System (DNS), are accepting network requests, and that the Terminal Server Licensing service is running.
  • Event 1027: The Terminal Server license servers are not registered in Windows Internet Name Service (WINS) or Domain Name System (DNS).
  • The Terminal Server license servers are not accepting network requests.
  • Terminal Server Licensing is not running.
  • Event 1043: The certificates on the Terminal Server license server are corrupted.
 
Resolutions

Event 1010:

  • Install a Terminal Server license server and verify that the terminal server can connect to the license server.
  • Activate Terminal Server Licensing and install license key packs.

Events 1026, 1027 (Windows Server 2003 operating systems only):

  • Install a Terminal Server license server and verify that the terminal server can connect to the Terminal Server license server.
  • Activate Terminal Server Licensing and install license key packs.
  • An explicit Terminal Server Licensing discovery feature implemented in Microsoft® Windows Server™ 2003 Service Pack 1 (SP1) allows the administrator of the terminal server to specify a license server to connect to during the Terminal Server setup process or by using the Terminal Services Configuration tool after the setup process completes.
  • A balloon notification feature implemented in Windows Server 2003 SP1 prompts the administrator with balloon reminders when a Terminal Server license server cannot be discovered and gives the administrator the opportunity to configure the name of the license server explicitly.

Event 1043 (Windows Server 2003 operating systems only):

  • Verify that crypto.dll has installed correctly.
  • Delete the MSLicensing key on the client computer:
    - Log on to the client computer.
    - Open Registry Editor. (Caution: Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on the computer.)
    - Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing
    - On the Registry Editor File menu, click Export.
    - In the File name box, type mslicensingbackup, and then click Save. If you have to restore this registry key in the future, double-click the Mslicensingbackup.reg file that you saved in this step.
    - On the Edit menu, click Delete, and then click Yes to confirm the deletion of the MSLicensing registry subkey.
    - Close Registry Editor, and then restart the computer. The Microsoft® Windows® operating system rebuilds the missing registry key when you restart your computer.
  • Delete X509 certificate registry keys on the terminal server:
    - Open Registry Editor. (Caution: Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on the computer.)
    - Locate and then click the following registry subkey:
    HKLM\SYSTEM\CurrentControlSet\Services\TermServices\Parameters
    - On the Registry Editor File menu, click Export.
    - Type exported-parameters in the File name box, and then click Save. If you have to restore this registry subkey in the future, double-click the Exported-parameters.reg file that you saved in this step.
    - Under the Parameters registry subkey, right-click each of the following values, click Delete, and then click Yes to confirm the deletion: Certificate, X509 Certificate and X509 Certificate ID.
    - Close Registry Editor, and then restart the server.
    - Reactivate Terminal Services Licensing by using the Telephone connection method in the Licensing Wizard. Restart the terminal server. If you activate Terminal Services Licensing by using the Telephone option, Terminal Server Licensing uses a different form of certificate.
 
External Knowledge Sources

You may find the following sources of information helpful:

Or search the Citrix knowledge base for more information.

 
Sample Event
  • Event 1010: The terminal server could not locate a license server. Confirm that all license servers on the network are registered in Windows Internet Name Service (WINS) or Domain Name System (DNS), are accepting network requests, and that the Terminal Server Licensing service is running.
  • Event 1026: The terminal server could not locate a license server. Confirm that all license servers on the network are registered in Windows Internet Name Service (WINS) or Domain Name System (DNS), are accepting network requests, and that the Terminal Server Licensing service is running.
  • Event 1027: The terminal server could not locate a license server. Confirm that all license servers on the network are registered in Windows Internet Name Service (WINS) or Domain Name System (DNS), are accepting network requests, and that the Terminal Server Licensing service is running.
  • Event 1043: The certificates on the Terminal Server license server are corrupted.
 
© 2002-2008 Citrix Systems, Inc. All rights reserved.

Element properties:

TargetCitrix.PresentationServer.ManagedServer
Parent MonitorCitrix.PresentationServer.Licensing.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Terminal server failed to discover license server
Terminal server failed to discover a Citrix license server. This is caused by an expired grace period for installing or activating licenses
RunAsCitrix.PresentationServer.CitrixAdministratorAccount

Source Code:

<UnitMonitor ID="Citrix.PresentationServer.TermSrvFailedToDiscoverLicenseServer.Monitor" Accessibility="Public" Enabled="true" Target="Citrix.PresentationServer.ManagedServer" ParentMonitorID="Citrix.PresentationServer.Licensing.AvailabilityState" Remotable="true" Priority="Normal" RunAs="CtxLibrary!Citrix.PresentationServer.CitrixAdministratorAccount" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Citrix.PresentationServer.TermSrvFailedToDiscoverLicenseServer.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="EventRaised" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(1010|1026|1027|1043)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>TermService</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>