【问题标题】:How to change the default organization selected for a user?如何更改为用户选择的默认组织?
【发布时间】:2015-02-15 20:24:49
【问题描述】:

在早期版本的 CRM 中,可以从 Deployment Manager 设置默认组织。不过,情况不再如此。现在,每个用户都有自己的默认值,具体取决于服务器上曾经访问过的第一个组织

我对这个主题有强烈的(而且不太赞成)意见,但微软似乎很少关心我的想法。

所以,我要对 DB 执行以下操作。

use MSCRM_CONFIG

update SystemUser 
set DefaultOrganizationId = 'GUID of the main organization'
--where Id='GUID of a user'

但是,我担心它会破坏某些东西并导致永恒恢复,所以我在这里通过提问来验证。

  1. 如何确保毫无疑问地获得组织的正确 GUID?
  2. 在评论针对个人用户的条款并一次性击中所有用户时,它是否有效?
  3. 除了在操作前备份整个系统之外,我还应该考虑哪些其他事项?

如果有人能提出一种更流畅、更不打扰的方式,我会高兴得跳起来。

【问题讨论】:

    标签: sql-server dynamics-crm-2013 dynamics-crm-2015


    【解决方案1】:

    您可以使用http://complexitykills.blogspot.com/2009/09/default-organization-for-user-is.html 处的脚本,该脚本与您的相似,但包含更多日志记录 - 请注意,在 cmets 中有一条注释包含 where 子句条件,用于查找具有“IsDeleted”的组织= 0" 以防止选择已删除的组织。如果在 SQL 事务中发出 SQL 命令,您可以运行脚本,验证用户仍然可以登录 Microsoft CRM,如果需要,快速发出“回滚传输”以回滚 SQL 事务,而不必执行完整的恢复 MSCRM_CONFIG 数据库(尽管恢复速度应该很快,因为就 SQL Server 数据库而言,它永远不会很大)。

    要获取正确的组织 ID,您可以使用如下 SQL 查询:

    DECLARE @DefaultOrganizationId AS VARCHAR (100);
    SET @DefaultOrganization = '<organizationname>';
    
    SELECT @DefaultOrganizationId = id
    FROM   MSCRM_CONFIG..organization
    WHERE  UniqueName = @DefaultOrganization AND IsDeleted = 0;
    

    如果您没有包含 where 子句,它确实会将所有用户更新为您在此处添加的组织 ID,并且应该可以正常工作(有关如何从 MSCRM_CONFIG 检索组织 ID 的示例,请参见上面的查询..组织表)。

    这不一定是常见操作,但我已经看到它与一些组织一起使用,以成功更新与用户关联的默认组织,并指出事先已做好预防措施以备份数据库并在之后执行测试确保 Microsoft CRM 中的这些用户一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2021-04-02
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多