Friday, November 16, 2007

SCOM 2007 - Access to the registry key 'Global' is denied in Web Console

SCOM 2007 Operators of the Web Console will receive "Error" on the Web Console Page. When you access the Web Console from the server that is hosting the site, you will get the following error:






Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[UnauthorizedAccessException: Access to the registry key 'Global' is denied.]
Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) +2116595
Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity) +2779509
Microsoft.Win32.RegistryKey.GetValue(String name) +29
System.Diagnostics.PerformanceMonitor.GetData(String item) +96
System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item) +147
System.Diagnostics.PerformanceCounterLib.get_CategoryTable() +82
System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category) +65
System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName) +125
System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName) +9
Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.Counters.BuildPerformanceCounter(DalCounter counterName, String instanceName) +302
Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.Counters..ctor() +197
Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.DataAbstractionFactory..ctor() +24
Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.DataAbstractionFactory..cctor() +20[TypeInitializationException: The type initializer for ‘Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.DataAbstractionFactory’ threw an exception.]
Microsoft.EnterpriseManagement.OperationsManager.DataAbstractionLayer.DataAbstractionFactory.GetInstance(IDataAbstractionBuilder builder) +0
Microsoft.EnterpriseManagement.OperationsManager.WebConsole.WebDalWrapper.get_OpsSdkWrapper() +37
BaseWebConsolePage.get_OpsSdkWrapper() +210
login.Page_Unload(Object sender, EventArgs e) +22

You will also receive the following event:








Here are the solutions that I implemented to permanently correct the issue:


1. Add ASPNET & Action Acct to Performance Monitors Group


2. Add ASPNET and Network Service with Full Control to Global Registry key located at HKEY_Classes_Root\Installer\Assemblies\Global











3. Add Network Service to C:\Inetsrv permissions with Full Control

4. Add Network Service as Full Control to C:\Windows\Debug\UserMode

5. Reboot Server and test Web Console.

If you are still having the issue, do a "iisreset" from the CMD prompt.

Hope this helps!!

Jeff Carter