An error occurred during an attempt to activate Terminal Server Licensing. This error can be caused by a corrupt crypt32.dll, or by corrupted certificates on the license server.
This rule covers the following event IDs: 4, 15, 16, 17
Other Information:
The event IDs described in this topic apply to Windows® 2000 Server and Windows Server™ 2000 operating systems.
Possible causes include:
Event 4: Terminal Server Licensing is unable to create certificate context. The certificates on the Terminal Server license server are corrupted.
Event 15: Terminal Server Licensing is unable to open the certificate store. The certificates on the Terminal Server license server are corrupted.
Event 16: Terminal Server Licensing cannot add the certificate to the certificate store. The certificates on the Terminal Server license server are corrupted, or Enforced Licensing is not defined.
Event 17: Terminal Server Licensing cannot save the certificate store. The certificates on the Terminal Server license server are corrupted.
Possible resolutions include:
Events 4, 15, 16, 17:
(Microsoft® Windows Server™ 2000 operating systems only) Verify that crypt32.dll has installed correctly. Check Event Viewer for errors related to crypt32.dll. If errors are found, reinstall License Server and contact the Microsoft Clearinghouse to reissue license packs. Access the Microsoft Clearinghouse by using the Terminal Server Licensing administrative tool.
Delete the MSLicensing key on the client computer:
Log on to the client computer.
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.
Open Registry Editor.
Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing
Back up the registry file before editing it using the Export command. If you are running a Windows 2000 Server operating system, click Export on the Registry Editor File menu. Or, if you are running a Windows 2000 Server operating system, click Export Registry File on the Registry menu.
In the Filename box, type mslicensingbackup, and then click Save.
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
Back up the registry file before editing it using the Export command. If you are running a Windows 2000 Server operating system, click Export on the Registry Editor File menu. Or, if you are running a Windows 2000 Server operating system, click Export Registry File on the Registry menu.
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
X509 Certificate ID
Close Registry Editor, and then restart the server.
Reactivate Terminal Server Licensing by using the Telephone connection method in the Licensing Wizard.
Restart the server.
If you activate Terminal Server Licensing by using the Telephone option, Terminal Server Licensing uses a different form of certificate.
Ensure the Microsoft Clearinghouse is issuing certificates that are generated by a valid signing/hashing algorithm.
Event 16, if Enforced Licensing is undefined: Enforce licensing and use default cryptography providers.
Target | Microsoft.Windows.Server.2000.TerminalServicesLicensingServerRole | ||
Category | EventCollection | ||
Enabled | True | ||
Event Source | TermServLicensing | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | System | ||
Comment | Mom2005ID='{1423B968-1A30-4F39-97E7-C037A22D45F7}' |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
Event_Data_Source | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="LS_activation_failed_due_to_an_error_2000" Target="Microsoft.Windows.Server.2000.TerminalServicesLicensingServerRole" Enabled="onEssentialMonitoring" Remotable="true" Comment="Mom2005ID='{1423B968-1A30-4F39-97E7-C037A22D45F7}'">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="Event_Data_Source" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>^(-1072627708|-1072627697|-1072627696|-1072627695)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>TermServLicensing</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertOwner>$Data/PublisherName$</AlertOwner>
<AlertMessageId>$MPElement[Name="LS_activation_failed_due_to_an_error_2000.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>