zoukankan      html  css  js  c++  java
  • The specified Active Directory user already exists as a Dynamics 365 user

    在创建用户的时候突然报错

    日志下载下来之后,详细信息显示如下:The specified Active Directory user already exists as a Dynamics 365 user

    Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The specified Active Directory user already exists as a Dynamics 365 user.Detail: 
    <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
      <ActivityId>8db0abce-0c48-42b8-bd70-f7ac7ef395d3</ActivityId>
      <ErrorCode>-2147214036</ErrorCode>
      <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
      <Message>The specified Active Directory user already exists as a Dynamics 365 user.</Message>
      <Timestamp>2020-04-15T06:18:00.8358708Z</Timestamp>
      <ExceptionRetriable>false</ExceptionRetriable>
      <ExceptionSource i:nil="true" />
      <InnerFault i:nil="true" />
      <OriginalException i:nil="true" />
      <TraceText i:nil="true" />
    </OrganizationServiceFault>
    
    

    但检查了systemuser这张表发现确实是没有这个用户的,那为什么还会有这个错误呢?
    背景:想起来之前还原过一次DB,只还原了业务库,没有还原MSCRM_Config这个库
    原因:这个用户之前由于某种原因在环境2中创建了一次,但没有在环境1中创建,后来还原环境1的Org_MSCRM的数据库到环境2,导致环境2中的这个用户信息被删除掉了,
    但是:用户的信息创建后不仅仅只存在systemuser这张表中,还会在MSCRM_Config的一些表中存储相关信息,所以当再次在环境2创建该用户时,就会提示已经存在,不允许在创建了。

    解决办法:删除掉MSCRM_Config库中跟这个用户相关的一些信息,主要存在SystemUserOrganizations和SystemUserAuthentication这两个表中,具体SQL语句如下

    • 查询系统中已经不存在的用户在SystemUserOrganizations中的信息
    select *
    from SystemUserOrganizations
    where organizationid='29CA5B3F-8FD1-E611-93FB-00155DC81318' and
    crmuserid not in (
    select systemuserid
    from [Org_MSCRM].dbo.systemuserbase)
    
    • 查询系统中已经不存在的用户在SystemUserAuthentication中的信息
    select *
    from SystemUserAuthentication
    where userid in (
    select userid
    from SystemUserOrganizations
    where organizationid='29CA5B3F-8FD1-E611-93FB-00155DC81318' and
    crmuserid not in (
    select systemuserid
    from [Org_MSCRM].dbo.systemuserbase)
    )
    
    • 删除系统中已经不存在的用户在SystemUserOrganizations中的信息
    delete
    from SystemUserOrganizations
    where organizationid='29CA5B3F-8FD1-E611-93FB-00155DC81318' and
    crmuserid not in (
    select systemuserid
    from [Org_MSCRM].dbo.systemuserbase)
    
    • 删除系统中已经不存在的用户在SystemUserAuthentication中的信息
    delete
    from SystemUserAuthentication
    where userid in (
    select userid
    from SystemUserOrganizations
    where organizationid='29CA5B3F-8FD1-E611-93FB-00155DC81318' and
    crmuserid not in (
    select systemuserid
    from [Org_MSCRM].dbo.systemuserbase)
    )
    

    备注:DB中删除完之后,需要等待一会才可以正常创建,等个5-10分钟吧

    参考文章:https://community.dynamics.com/crm/b/raorapolumsdynamicscrmblog/posts/the-specified-active-directory-user-already-exists-as-a-crm-user

  • 相关阅读:
    1093 Count PAT's(25 分)
    1089 Insert or Merge(25 分)
    1088 Rational Arithmetic(20 分)
    1081 Rational Sum(20 分)
    1069 The Black Hole of Numbers(20 分)
    1059 Prime Factors(25 分)
    1050 String Subtraction (20)
    根据生日计算员工年龄
    动态获取当前日期和时间
    对计数结果进行4舍5入
  • 原文地址:https://www.cnblogs.com/cndota2/p/12706286.html
Copyright © 2011-2022 走看看