Compartir a través de


Error "800703fa Operación ilegal intentada en una clave del Registro"

Síntoma

Se produce un error en una operación en Microsoft SharePoint 2013 o Microsoft SharePoint 2010 y verá el siguiente mensaje de error COMException registrado en ULS en SharePoint LogViewer:

[System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID {<GUID>} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion.  

Este error puede producirse en varios escenarios diferentes. Por ejemplo, este error puede producirse en escenarios en los que se ven las siguientes entradas de registro:

11/03/2015 20:09:45.83 w3wp.exe (0x1A24) 0x46CC SharePoint Portal Server Microfeeds ada0j Unexpected
MicroBlogList.GetMicroBlogPostsForRePopulation http://mysite/personal/12345 permanent failure
Exception:
[System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID
{BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).
at Microsoft.SharePoint.Library.SPRequest..ctor()
at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(...)
at Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)
at Microsoft.SharePoint.Administration.SPFarm.get_RequestAny()
at Microsoft.SharePoint.SPSecurity.GetCurrentUserTokenNoApplicationPrincipalDelegated(SPWebApplication webApp, Uri siteUrl)
at Microsoft.SharePoint.SPSecurity.GetCurrentUserToken()
at Microsoft.SharePoint.SPSecurity.EnsureOriginatingUserToken()
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
at Microsoft.Office.Server.UserProfiles.SPS2SAppContext.GetClientContext(...)
at Microsoft.Office.Server.UserProfiles.SPS2SAppExecutionContextBase.get_ClientContext()
at Microsoft.Office.Server.Microfeed.SPMicrofeedStore.Query(...)
at Microsoft.Office.Server.Microfeed.MicroBlogList.ExecuteRepopulationCamlQuery(...)
at Microsoft.Office.Server.Microfeed.MicroBlogList.GetMicroBlogPostsForRePopulation...)]
Handling an exception. Exception details: System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).  
at Microsoft.SharePoint.Library.SPRequest..ctor()  
at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(...)  
at Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)  
at Microsoft.SharePoint.Administration.SPFarm.get_RequestAuthAny()  
at Microsoft.SharePoint.Administration.SPAcl`1.CalculatePermissions()  
at Microsoft.SharePoint.Administration.SPIisWebServiceApplication.CheckAccess(SPIisWebServiceApplicationRights rights)  
at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplication.DoesUserHavePermissions(...)  
at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplication.GetChangedTermSets(...)  
at SyncInvokeGetChangedTermSets(Object , Object[] , Object[] )  
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Causa

Este problema suele producirse después de que un administrador use una cuenta de servicio para iniciar sesión en el servidor para una sesión interactiva y, a continuación, cerrar la sesión. Por ejemplo, un administrador puede iniciar sesión en un servidor front-end web (WFE) mediante la cuenta de la granja de servidores y, a continuación, cerrar la sesión. Esta actividad obliga a descargar las claves del Registro en el perfil de esa cuenta. Esta condición hace que las claves no estén disponibles para su uso futuro.

Solución

Para resolver este problema, use cualquiera de los métodos siguientes.

Método 1

No inicie sesión en el servidor para sesiones interactivas mediante una cuenta de servicio.

Método 2

Deshabilite la característica de servicio de perfil de usuario de Windows relacionada. Para ello, siga estos pasos:

  1. Abra el editor de directiva de grupo (Gpedit.msc) en el servidor afectado.

  2. Abra la carpeta UserProfiles en la siguiente ruta de acceso:

    Configuración del> equipoPlantillas> administrativasSistema>UserProfiles

  3. Busque la opción No descargar por la fuerza el registro de usuario en la configuración de cierre de sesión del usuario .

  4. Cambie la configuración a Habilitado.

Más información

Para obtener más información, consulte el siguiente artículo del blog del equipo de soporte técnico de MSDN Distributed Services:

Una aplicación COM+ puede dejar de funcionar en Windows Server 2008 cuando el usuario de identidad cierra la sesión

¿Aún necesita ayuda? Visite Comunidad de SharePoint.