Thursday, May 22, 2008

MSCRM4 Diagnostic: The user Id is invalid

This error can be caused by:

• The MSCRM 4 Server wasn't added to the PrivUserGroup
• The service account for MSCRM 4 Server wasn't able to impersonate the actual user

Details of the error:



Error Description:
The user Id is invalid.

Error Number:
0x80041D1F

Full Stack:

[CrmException: The user Id is invalid.]
   at Microsoft.Crm.BusinessEntities.SecurityLibrary.GetPrivilegedUserCallerAndBusinessGuidsFromThread(WindowsIdentity identity, IOrganizationContext context)
   at Microsoft.Crm.BusinessEntities.SecurityLibrary.GetCallerAndBusinessGuidsFromThread(WindowsIdentity identity, Guid organizationId)
   at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
   at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
   at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveCommand.Execute()
   at Microsoft.Crm.Application.Platform.DataSource.Retrieve(String entityName, Guid entityId, String[] columns)
   at Microsoft.Crm.Application.MasterSiteMap.LoadMasterSiteMapInternal(Guid organizationId, DynamicMetadataCache metadataCache, Boolean useReferenceXml)
   at Microsoft.Crm.Application.MasterSiteMap.LoadMasterSiteMap(Guid organizationId, DynamicMetadataCache metadataCache)
   at Microsoft.Crm.Caching.MasterSiteMapCacheLoader.LoadCacheData(MasterSiteMapCacheKey key, IOrganizationContext context)
   at Microsoft.Crm.Caching.BasicCrmCache`2.CreateEntry(TKey key, IOrganizationContext context)
   at Microsoft.Crm.Caching.BasicCrmCache`2.LookupEntry(TKey key, IOrganizationContext context)
   at Microsoft.Crm.Application.SiteMap.GetSiteMapForUser(IUser user, Client client, Boolean isOffline, String forceGroupProfiles)
   at Microsoft.Crm.Caching.UserSiteMapCacheLoader.LoadCacheData(UserSiteMapCacheKey key, IOrganizationContext context)
   at Microsoft.Crm.Caching.BasicCrmCache`2.CreateEntry(TKey key, IOrganizationContext context)
   at Microsoft.Crm.Caching.BasicCrmCache`2.LookupEntry(TKey key, IOrganizationContext context)
   at Microsoft.Crm.Caching.UserSiteMapCache.LookupEntry(Guid userId, IOrganizationContext context)
   at Microsoft.Crm.Web.Loader.ConfigurePage()
   at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
   at Microsoft.Crm.Web.Loader.OnPreRender(EventArgs e)
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

[HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.fish_loader_aspx.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Resolution:

1. Add the computer as a member to the PrivUserGroup in the Active Directory (can be achieved using dsa.msc tool):

2 comments:

Thushara Manchanayake said...
This comment has been removed by the author.
Thushara Manchanayake said...

Great... This post was very helpful

Thanks