开始在测试System Center 2012 Operations Manager(以下简称为SCOM)一直使用的是评估版本,一直忘了输入密钥,周六的时候突然收到评估过期通知邮件,同时OpsMgr控制台无法连接。本文将引导您完成如何激活它的步骤。

如果尝试打开OpsMgr控制台,报警及报错如下:

Log信息如下:

日期: 2016/12/26 9:07:22 应用程序: Operations Manager 应用程序版本: 7.1.10226.0 严重性: 错误 消息: 未能连接到服务器"BJ-SCOM**.****" Microsoft.EnterpriseManagement.Common.UnknownServiceException: 服务引发未知异常。有关详细信息,请参阅内部异常。 ---> System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: The creator of this fault did not specify a Reason. Server stack trace: 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 在 Microsoft.EnterpriseManagement.Common.Internal.IDispatcherService.Connect(SdkClientConnectionOptions connectionOptions) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.Initialize(EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.CreateEndpoint[T](EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.EnterpriseManagement.Common.Internal.ExceptionHandlers.HandleChannelExceptions(Exception ex) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.CreateEndpoint[T](EnterpriseManagementConnectionSettings connectionSettings, SdkChannelObject`1 channelObjectDispatcherService) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.ConstructEnterpriseManagementGroupInternal[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore clientCallback) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.RetrieveEnterpriseManagementGroupInternal[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore callbackDispatcherService) 在 Microsoft.EnterpriseManagement.Common.Internal.SdkDataLayerProxyCore.Connect[T,P](EnterpriseManagementConnectionSettings connectionSettings, ClientDataAccessCore callbackDispatcherService) 在 Microsoft.EnterpriseManagement.ManagementGroup.InternalInitialize(EnterpriseManagementConnectionSettings connectionSettings, ManagementGroupInternal internals) 在 Microsoft.EnterpriseManagement.Mom.Internal.UI.Common.ManagementGroupSessionManager.Connect(String server) 在 Microsoft.EnterpriseManagement.Monitoring.Console.Internal.ConsoleWindowBase.TryConnectToManagementGroupJob(Object sender, ConsoleJobEventArgs args) System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: The creator of this fault did not specify a Reason. (错误详细信息等于 System.UnauthorizedAccessException: You have exceeded the evaluation period of this product. Please upgrade to the retail version to continue using the product. For information on purchasing the retail version of this product, go to http://go.microsoft.com/fwlink/?LinkID=74446. at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.CheckLicence() at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.Connect(SdkClientConnectionOptions options) at Microsoft.EnterpriseManagement.ServiceDataLayer.BasicDispatcherService.Connect(SdkClientConnectionOptions connectionOptions))。

错误代码:You have exceeded the evaluation period of this product. Please upgradeto the retail version to continue using the product.

此时我们观察SCOM日志,明显会发现大量26319ID日志:

具体信息如下: 日志名称:          Operations Manager 来源:            OpsMgr SDK Service 日期:            2016/12/25 16:51:52 事件 ID:         26319 任务类别:          无 级别:            错误 关键字:           经典 用户:            暂缺 计算机:           BJ-SCO**.***** 描述: An exception was thrown while processing Connect for session ID uuid:e0c27c04-c2f3-4b0f-80b7-642e38f964b1;id=1592.  Exception message: The creator of this fault did not specify a Reason.  Full Exception: System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: The creator of this fault did not specify a Reason. (Fault Detail is equal to System.UnauthorizedAccessException: You have exceeded the evaluation period of this product. Please upgrade to the retail version to continue using the product. For information on purchasing the retail version of this product, go to http://go.microsoft.com/fwlink/?LinkID=74446.    at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.CheckLicence()    at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.Connect(SdkClientConnectionOptions options)    at Microsoft.EnterpriseManagement.ServiceDataLayer.BasicDispatcherService.Connect(SdkClientConnectionOptions connectionOptions)). 事件 Xml: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">   <System>     <Provider Name="OpsMgr SDK Service" />     <EventID Qualifiers="49152">26319</EventID>     <Level>2</Level>     <Task>0</Task>     <Keywords>0x80000000000000</Keywords>     <TimeCreated SystemTime="2016-12-25T08:51:52.000000000Z" />     <EventRecordID>674535</EventRecordID>     <Channel>Operations Manager</Channel>     <Computer>BJ-SCOM**.***** </Computer>     <Security />   </System>   <EventData>     <Data>Connect</Data>     <Data>uuid:e0c27c04-c2f3-4b0f-80b7-642e38f964b1;id=1592</Data>     <Data>The creator of this fault did not specify a Reason.</Data>     <Data>System.ServiceModel.FaultException`1[System.UnauthorizedAccessException]: The creator of this fault did not specify a Reason. (Fault Detail is equal to System.UnauthorizedAccessException: You have exceeded the evaluation period of this product. Please upgrade to the retail version to continue using the product. For information on purchasing the retail version of this product, go to http://go.microsoft.com/fwlink/?LinkID=74446.    at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.CheckLicence()    at Microsoft.EnterpriseManagement.ServiceDataLayer.SessionManagerService.Connect(SdkClientConnectionOptions options)    at Microsoft.EnterpriseManagement.ServiceDataLayer.BasicDispatcherService.Connect(SdkClientConnectionOptions connectionOptions)).</Data>   </EventData> </Event>

报错代码:You have exceeded the evaluation period of this product. Please upgrade to the retail version to continue using the product.

显然OpsMgr控制台没有打开的主要原因是因为我们已经超过System Center 2012 Operations Manager的评估期。


知道问题根源后我们就可以对症下药了,按照常规思路我们只需要通过Operations Manager Shell命令行录入产品密钥即可,操作方法如下:

1.以管理员身份运行Operations Manager Shell模块

2.输入一下命令加载 OperationsManager 模块:

Import-Module OperationsManager

3.然后输入新建SCOM管理组连接命令:

New-SCOMManagementGroupConnection

然而我们会遇到以下报错:

PS C:\Windows\system32> New-SCOMManagementGroupConnection New-SCOMManagementGroupConnection : The service threw an unknown exception. See inner exception for details. 所在位置 行:1 字符: 1 + New-SCOMManagementGroupConnection + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo          : InvalidOperation: (Microsoft.Syste...nnectionCom mand:NewSCManagementGroupConnectionCommand) [New-SCManagementGroupConnecti on],UnknownServiceException + FullyQualifiedErrorId : ExecutionError,Microsoft.SystemCenter.Core.Comma nds.NewSCManagementGroupConnectionCommand

此错误显示意义基本上是因为评估期已过期,因此我们将无法连接到管理组。

4.按照提醒我们需要将SCOM系统时间更改为我们仍处于评估期的日期(往前修改半月或一月均可,如果是虚拟机请临时关闭宿主机上"集成服务--时间同步"选项)。

5.重启System Center Data Access Service (System Center数据访问服务)服务:

6.重新执行New-SCOMManagementGroupConnection并运行以下命令查看评估到期时间(如执行依旧报错,请确保系统时间已更改并重复以上5步骤):

Get-SCOMManagementGroup | ft skuforlicense,version,timeofexpiration -a

7.通过Set-SCOMLicense命令输入产品密钥并确认:

Set-SCOMLicense ProductId "*********************"

8.重启System Center Data Access Service (System Center数据访问服务),此时控制台就可以打开了,如下:

执行Get-SCOMManagementGroup | ft skuforlicense,version,timeofexpiration -a查看更新后授权信息已生效:


如上为整个排错操作过程,希望可以帮到大家,如有不足请留言指出,感谢支持。

欢迎关注微信公众号:小温研习社