SCOM License Expired

Posted by : on

troubleshooting   guides   operationsManager

:book: Introduction

We attempted to activate the expired license for SCOM but we were unable due to the expiration of the product. The following errors would show when attempting to activate via PowerShell. These errors would show every time we try to activate:

Set-SCOMLicense : Unable to proceed with the command. Ensure you are connecting to correct Management Server and have sufficient privileges to execute the command. 
At line:1 char:1
+ Set-SCOMLicense -ManagementServer localhost -ProductId BZX70-NQZUT-SS ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (BZX70-NQZUT-SSFEQ-7PWWZ-9ZOQC:String) [Set-SCOMLicense], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.SystemCenter.OperationsManagerV10.Commands.Commands.AdministrationCmdlets.SetSCOMLicense

At the same time two consecutive events are logged in the Application Log:

Log Name:      Application 
Source:        .NET Runtime
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Description:
Application: MonitoringHost.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.UnauthorizedAccessException
   at Microsoft.EnterpriseManagement.Common.Internal.ExceptionHandlers.HandleChannelExceptions(System.Exception)
   at Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.CreateEndpoint[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.EnterpriseManagement.EnterpriseManagementConnectionSettings, Microsoft.EnterpriseManagement.Common.Internal.SdkChannelObject`1<Microsoft.EnterpriseManagement.Common.Internal.IDispatcherService>)
   at Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.ConstructEnterpriseManagementGroupInternal[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.EnterpriseManagement.EnterpriseManagementConnectionSettings, Microsoft.EnterpriseManagement.DataAbstractionLayer.ClientDataAccessCore)
   at Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.RetrieveEnterpriseManagementGroupInternal[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.EnterpriseManagement.EnterpriseManagementConnectionSettings, Microsoft.EnterpriseManagement.DataAbstractionLayer.ClientDataAccessCore)
   at Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.Connect[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.EnterpriseManagement.EnterpriseManagementConnectionSettings, Microsoft.EnterpriseManagement.DataAbstractionLayer.ClientDataAccessCore)
   at Microsoft.EnterpriseManagement.ManagementGroup.InternalInitialize(Microsoft.EnterpriseManagement.EnterpriseManagementConnectionSettings, Microsoft.EnterpriseManagement.ManagementGroupInternal)
   at Microsoft.EnterpriseManagement.ManagementGroup.Connect(System.String)
   at Microsoft.EnterpriseManagement.Mom.ValidateAlertSubscriptionModule.ValidateAlertSubscriptionDataSource.ValidateAlertSubscriptions(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()

and

Log Name:      Application 
Source:        Application Error
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Description:
Faulting application name: MonitoringHost.exe, version: 10.19.10014.0, time stamp: 0x5c45e51b
Faulting module name: KERNELBASE.dll, version: 10.0.14393.5582, time stamp: 0x63882301
Exception code: 0xe0434352
Fault offset: 0x0000000000026ea8
Faulting process id: 0xaf4
Faulting application start time: 0x01d937237975b89c
Faulting application path: C:\Program Files\Microsoft System Center\Operations Manager\Server\MonitoringHost.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 21ffc48d-66ca-4aab-9967-47b2201d498f
Faulting package full name: 
Faulting package-relative application ID: 

:page_with_curl: How to fix it

Follow the below steps to allow you to fix the Activation issue:

  1. Run the following PowerShell script on your Management Server to unregister the Time Service, set the date 48 hours ahead of the date SCOM was installed on the Management Server, and finally restarting the SCOM services.
     # Unregister the Time Service
     W32tm /unregister
    
     # Stop the Time Service
     Stop-Service -Name w32time
    
     # Set the Operating System date 48 hours ahead of the InstalledOn date that is in the registry
     Set-Date ([DateTime]::ParseExact($((Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Setup').InstalledOn), 'M/d/yyyy-HH:mm:ss', $null).AddHours(48))
    
     # Restart the SCOM Services (System Center Data Access Service, System Center Management Configuration, Microsoft Monitoring Agent)
     Restart-Service -Name omsdk, cshost, healthservice
    
  2. Verify the time has been changed.
  3. Open the SCOM Console and navigate to the top of the Console window, click on Help -> About
    SCOM Console Help -> About
  4. Click on Activate and type in your License key:
    SCOM Console Activation - Help -> About
    SCOM Console Activation - Activation Window
  5. Accept the license agreement:
    SCOM Console Activation Agreement
  6. Successfully activated!
    SCOM Console Activation Successful

  7. Register the Time Service to revert the changes made above, close the SCOM Console, and finally restart the SCOM SDK Service (System Center Data Access Service):
    # Register the Time Service
    W32tm /register
    
    # Close the SCOM Console
    Stop-Process -Name Microsoft.EnterpriseManagement.Monitoring.Console -Force
       
    # Restart the SCOM SDK Service
    Restart-Service -Name omsdk
    
  8. Open the SCOM Console and verify if you go to Help -> About. Do you see (Eval) in the Console version?
    If you see (Retail) (as shown below), you are activated! :sun_behind_small_cloud:
    SCOM Console Activation Successful

Page Views


Share on:
About Blake Drumm
Blake Drumm

I like to collaborate and work on projects. My skills with Powershell allow me to quickly develop automated solutions to suit my customers, and my own needs.

Email :

Website :

About Blake Drumm

My name is Blake Drumm, I am working on the Azure Monitoring Enterprise Team with Microsoft. Currently working to update public documentation for System Center products and write troubleshooting guides to assist with fixing issues that may arise while using the products. I like to blog on Operations Manager and Azure Automation products, keep checking back for new posts. My goal is to post atleast once a month if possible.

Follow @blakedrumm
Useful Links