locked
The specified user is either disabled or is not a member of any business unit., ErrorCode: -2147220955 RRS feed

  • Question

  • I have imported and upgraded an organization from a production environment of CRM 4.0 to a stand-alone development server running CRM 2011. Both systems are on the same domain. User mapping was done through an xml file with 95% of the users being mapped to the same account. The primary installation account (and System Administrator) has changed. A couple of old disabled accounts were left without mappings. The import succeeded after a couple of hours but I can not access the resulting organization. When I use IE 8.0 to access the site I get:

    An error has occurred. 
    
    Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally, you can contact Microsoft Support. 

    From the trace logs I get these error messages:

    >Crm Exception: Message: The specified user is either disabled or is not a member of any business unit., ErrorCode: -2147220955
    [2011-10-01 21:20:35.656] Process: w3wp |Organization:22d73381-1674-df11-a017-001b78939b60 |Thread:   15 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error | ErrorInformation.LogError
     at ErrorInformation.LogError()
     at ErrorInformation..ctor(Exception exception, Uri requestUrl, Boolean logError)
     at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
     at EventHandler.Invoke(Object sender, EventArgs e)
     at HttpApplication.RaiseOnError()
     at ApplicationStepManager.ResumeSteps(Exception error)
     at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
     at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
     at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
    >MSCRM Error Report:
    --------------------------------------------------------------------------------------------------------
    Error: The specified user is either disabled or is not a member of any business unit.
    
    Error Number: 0x80040225
    
    Error Message: The specified user is either disabled or is not a member of any business unit.
    
    Error Details: The specified user is either disabled or is not a member of any business unit.
    
    Source File: Not available
    
    Line Number: Not available
    
    Request URL: http://localhost:5555/[Organization]/default.aspx
    
    Stack Trace Info: [CrmException: The specified user is either disabled or is not a member of any business unit.]
       at Microsoft.Crm.BusinessEntities.SecurityLibrary.CheckDisabledStatus(IUser user, IOrganizationContext context)
       at Microsoft.Crm.BusinessEntities.SecurityLibrary.GetUserInfoInternal(WindowsIdentity identity, IOrganizationContext context, UserAuth& userInfo)
       at Microsoft.Crm.Authentication.CrmWindowsIdentity.DoRecognizeUser(String userToken, Guid organizationId)
       at Microsoft.Crm.Authentication.BaseCrmIdentity.RecognizeCrmUser(Guid organizationId)
       at Microsoft.Crm.Extensibility.InternalSdkContextInitializer.SetHttpContext(WindowsIdentity windowsIdentity, Guid organizationId, Guid callerId)
       at Microsoft.Crm.Extensibility.InprocessServiceProxy.ExecuteCore(OrganizationRequest request)
       at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.XrmExecuteInternal()
       at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveMultipleCommand.Execute()
       at Microsoft.Crm.Application.Caching.CustomResourceLoader.GetCustomResources(IOrganizationContext context, Int32 cacheKey)
       at Microsoft.Crm.Application.Caching.CustomResourceLoader.LoadCacheData(Int32 key, IOrganizationContext context)
       at Microsoft.Crm.Caching.CrmMultiOrgCache`2.LookupEntry(TKey key, IOrganizationContext context)
       at Microsoft.Crm.Application.ResourceManager.CustomResourceManager.TryGetCultureString(String name, CultureInfo culture, Boolean getSystemString, IOrganizationContext context)
       at Microsoft.Crm.Application.ResourceManager.CustomResourceManager.TryGetCultureString(String name, CultureInfo culture, IOrganizationContext context)
       at Microsoft.Crm.Application.ResourceManager.BasicResourceManager.GetCultureString(String name, CultureInfo culture, IOrganizationContext context)
       at Microsoft.Crm.Controls.Header..ctor()
       at Microsoft.Crm.Application.Controls.AppHeader..ctor()
       at ASP.cheynecapital_default_aspx.__BuildControlcrmHeader()
       at ASP.cheynecapital_default_aspx.__BuildControlTree(cheynecapital_default_aspx __ctrl)
       at ASP.cheynecapital_default_aspx.FrameworkInitialize()
       at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
       at System.Web.UI.Page.ProcessRequest()
       at System.Web.UI.Page.ProcessRequest(HttpContext context)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
    
    [2011-10-01 21:20:35.659] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   15 |Category: Exception |User: 00000000-0000-0000-0000-000000000000 |Level: Error | CrmException..ctor
     at CrmException..ctor(Int32 errorCode, Object[] arguments)
     at SecurityLibrary.CheckDisabledStatus(IUser user, IOrganizationContext context)
     at SecurityLibrary.GetUserInfoInternal(WindowsIdentity identity, IOrganizationContext context, UserAuth& userInfo)
     at CrmWindowsIdentity.DoRecognizeUser(String userToken, Guid organizationId)
     at BaseCrmIdentity.RecognizeCrmUser(Guid organizationId)
     at InternalSdkContextInitializer.SetHttpContext(WindowsIdentity windowsIdentity, Guid organizationId, Guid callerId)
     at InprocessServiceProxy.ExecuteCore(OrganizationRequest request)
     at PlatformCommand.XrmExecuteInternal()
     at RetrieveMultipleCommand.Execute()
     at CustomResourceLoader.GetCustomResources(IOrganizationContext context, Int32 cacheKey)
     at CustomResourceLoader.LoadCacheData(Int32 key, IOrganizationContext context)
     at CrmMultiOrgCache`2.LookupEntry(TKey key, IOrganizationContext context)
     at CustomResourceManager.TryGetCultureString(String name, CultureInfo culture, Boolean getSystemString, IOrganizationContext context)
     at CustomResourceManager.TryGetCultureString(String name, CultureInfo culture, IOrganizationContext context)
     at BasicResourceManager.GetCultureString(String name, CultureInfo culture, IOrganizationContext context)
     at GlobalBase.BuildErrorHandlerUri(String errorHandlerPage, ErrorInformation errorInformation)
     at MainApplication.HandleError(ErrorInformation errorInformation)
     at MainApplication.Application_Error(Object sender, EventArgs eventArguments)
     at EventHandler.Invoke(Object sender, EventArgs e)
     at HttpApplication.RaiseOnError()
     at ApplicationStepManager.ResumeSteps(Exception error)
     at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
     at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
     at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
    >Crm Exception: Message: The specified user is either disabled or is not a member of any business unit., ErrorCode: -2147220955
    

    I have searched for everything that seems to make sense but all of the articles I find don't seem to solve the issue or do not apply.

    I can't find anything usefull about ErrorCode: -2147220955

    I found the SDK definition for Error Number: 0x80040225 but it doesn't help much:

    <ErrorId>80040225</ErrorId> 
    
    <ManagedErrorName>unManagedidsusernotenabled</ManagedErrorName> 
    
    <ErrorMessage>The specified user is either disabled or is not a member of any business unit.</ErrorMessage> 
    
    <UnManagedErrorName>IDS_USER_NOT_ENABLED</UnManagedErrorName> 
    
    </crmerror> 
    
    

    I have checked through the database to see if any users were disabled. There were 24. I enabled these one-by-one with no luck.

    Every user in the SystemUserBase table appears to have valid BusinessUnitIds but I'm not 100% sure what queries I need to run to check this.

    I'm concered about the OrganizationId and UserId 00000000-0000-0000-0000-000000000000. Any idea what could cause this?

    Any help would be much appreciated.

    Saturday, October 1, 2011 7:55 PM

Answers

  • Check whether the system administrator account was disabled in database. If yes, enable it in database.

    1. Backup the orgname_MSCRM and MSCRM_Config.
    2. Find the systemuserid for system admin in systemuserbase table.
    3. Find the system admin in systemuserbase and resourcebase, if isdisabled=1, set isdisabled=0.
    4. Find the Business Unit the user belongs to in businessunitbase table. if isdisabled=1, set isdisabled=0.

    The issue might also be caused if you are running the CRM application pool with a user account that is also a CRM user. If you fit the scenario, create a new user to run the CRMAppPool.

     

     

     


    Jackie Chen, Microsoft Online Community Support. Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties, and confers no rights.
    • Marked as answer by Mark.Cherry Wednesday, October 5, 2011 11:50 AM
    Wednesday, October 5, 2011 7:05 AM

All replies

  • Check whether the system administrator account was disabled in database. If yes, enable it in database.

    1. Backup the orgname_MSCRM and MSCRM_Config.
    2. Find the systemuserid for system admin in systemuserbase table.
    3. Find the system admin in systemuserbase and resourcebase, if isdisabled=1, set isdisabled=0.
    4. Find the Business Unit the user belongs to in businessunitbase table. if isdisabled=1, set isdisabled=0.

    The issue might also be caused if you are running the CRM application pool with a user account that is also a CRM user. If you fit the scenario, create a new user to run the CRMAppPool.

     

     

     


    Jackie Chen, Microsoft Online Community Support. Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties, and confers no rights.
    • Marked as answer by Mark.Cherry Wednesday, October 5, 2011 11:50 AM
    Wednesday, October 5, 2011 7:05 AM
  • Hi Jackie,

    Thank you for your response.

    I can confirm that both the system admin account and their business unit were enabled in the database. I just wanted to confirm that the Business Unit you refer to in your instructions (step 4) is the one referenced in the systemuserbase table and not any of the business units referenced via related tables?

    As it happens we have been able to move past this issue. We performed the import on the new production servers and the import worked first time. One of the things that is very different on the new production servers to that on the development server is that production uses separate accounts for each service and each web service. The service account on the old development server was a CRM user and this account was used for every service and web service. I didn't even concider this as an issue and unfortunately I can't test this now (since the VM has already been deleted) but I'm willing to accept your response as the solution to this especially since I have not seen this suggestion listed anywhere else.

    We have taken the decision to rebuild the development VM server from scratch. One of the things we will do is match the service accounts used on the production servers on the development server.

    Wednesday, October 5, 2011 11:50 AM
  • Hi Mark,

    The BU I mentioned is the one referenced in the systemuserbase table.

    Please rebuild the Server from scratch, if you have further question, please post here.


    Jackie Chen, Microsoft Online Community Support. Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties, and confers no rights.
    Thursday, October 6, 2011 2:13 AM
  • I am also having this issue. I do have a user account running the CRM app pool. If the Account running the app pool isnt a CRM user then I cant access crm...
    Tuesday, October 9, 2012 8:42 PM