/// <summary>
/// 设置用户的上级
/// </summary>
/// <param name="service">服务</param>
/// <param name="userId">用户</param>
/// <param name="parentId">上级</param>
public void SetUserParent(IOrganizationService service, Guid userId, Guid parentId)
{
SetParentSystemUserRequest request = new SetParentSystemUserRequest();
//当前用户
request.UserId = userId;
//上级
request.ParentId = parentId;
//是否保存子用户
request.KeepChildUsers = true; service.Execute(request);
}

背景: crm 从旧系统重新迁移到新系统.

以上代码可以随便放在一个plugin里执行就行了.

引自:http://blog.csdn.net/y_f123/article/details/37870313

/// <summary>
/// 删除用户的上级
/// </summary>
public void RemoveParent(IOrganizationService service,Guid userId)
{
RemoveParentRequest removeRequest = new RemoveParentRequest();
removeRequest.Target = new EntityReference() { LogicalName = "systemuser", Id = userId };
service.Execute(removeRequest);
} /// <summary>
/// 设置用户的业务部门
/// </summary>
/// <param name="service">服务</param>
/// <param name="userId">用户Id</param>
/// <param name="businessId">部门Id</param>
public void SetUserBusiness(IOrganizationService service, Guid userId,Guid businessId)
{
//更改用户的业务部门,会重置角色
SetBusinessSystemUserRequest request = new SetBusinessSystemUserRequest();
request.BusinessId = businessId;
request.UserId = userId;
//安全角色
request.ReassignPrincipal = new EntityReference() { LogicalName = "role",Id = Guid.NewGuid() };
service.Execute(request);
} /// <summary>
/// 设置用户的上级
/// </summary>
/// <param name="service">服务</param>
/// <param name="userId">用户</param>
/// <param name="parentId">上级</param>
public void SetUserParent(IOrganizationService service,Guid userId,Guid parentId)
{
SetParentSystemUserRequest request = new SetParentSystemUserRequest();
//当前用户
request.UserId = userId;
//上级
request.ParentId = parentId;
//是否保存子用户
request.KeepChildUsers = true; service.Execute(request);
}

crm SDK 设置用户的上级的更多相关文章

  1. APUE学习之三个特殊位 设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky

    设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky   set-user-ID: SUID      当文件的该位有设置时,表示当该文件被执行时,程序具有文件 ...

  2. 【转】linux 设置用户id 设置组id

    linux 设置用户id 设置组id   转自 linux 设置用户id 设置组id   最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个 ...

  3. UNIX文件的权限之“设置用户ID位”

    用stat函数可以获取一个文件的状态信息,原型是这样的: int stat(const char *path, struct stat *buf); 其中结构体stat的结构: struct stat ...

  4. 设置用户ID和设置组ID

    与一个进程关联的ID有6个或更多,如下图所示: 与每个进程相关联的用户ID和组ID 实际用户ID 实际组ID 我们实际是谁 有效用户ID 有效组ID 附加组ID 用于文件访问权限检索 保存的设置用户I ...

  5. 文件和目录之设置用户ID和设置组ID

    与一个进程相关联的ID有6个或更多,它们如表4-4所示: 表4-4 与每个进程相关联的用户ID和组ID 实际用户ID                            我们实际上是谁 实际组ID ...

  6. YII设置用户访问过滤

    设置用户访问过滤 1.哪个控制器设置访问过滤,就在哪个控制器中添加如下代码 class XxxController extends Controller { //当前控制器是否使用过滤功能 publi ...

  7. linux系统学习笔记:无死角理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID

    一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用 ...

  8. 实际用户ID,有效用户ID和设置用户ID

    摘自http://blog.csdn.net/guosha/article/details/2679334 实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没 ...

  9. 实际用户ID,有效用户ID及设置用户ID

    实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解.今天好好区分了一下这几个概念并总结如下.说白了这几个U ...

随机推荐

  1. 对spark算子aggregateByKey的理解

    案例 aggregateByKey算子其实相当于是针对不同“key”数据做一个map+reduce规约的操作. 举一个简单的在生产环境中的一段代码 有一些整理好的日志字段,经过处理得到了RDD类型为( ...

  2. day 54 JS 之 jquery

    jQuery入门 2017-07-10 jQuery快速入门. jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Doc ...

  3. PowerDesigner学习 ---- 系列文章

    一.PowerDesigner概述(系统分析与建模) 二.项目和框架矩阵 三.企业架构模型 四.业务处理模型 五.概念数据模型(CDM生成LDM,PDM和OOM) 六.物理数据模型(PDM逆向工程) ...

  4. C#获取当前路径的七种方法 【转载】

    //1.获取模块的完整路径. string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; // ...

  5. 同步中的四种锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock

    为了更好的支持并发程序,JDK内部提供了多种锁.本文总结4种锁. 1.synchronized同步锁 使用: synchronized本质上就2种锁: 1.锁同步代码块 2.锁方法 可用object. ...

  6. C# 抽象类和密闭方法

    抽象类abstract: 1.抽象类只存在一个目的就是被继承:2.抽象类不能够实例化,只能够被继承:3.抽象类可以包含抽象成员和普通成员,以及他们的任意组合:4.抽象类的抽象成员在派生类中需要使用ov ...

  7. MySQL程序之mysqldump详解

    mysqldump命令详解 mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等 用法: ...

  8. SpringBoot入门学习笔记

    SpringBoot是SpringMVC的升级版,SpringBoot的特点: application.properties文件配置: server.port = 8080端口配置 server.co ...

  9. MHA 报错:There is no alive slave. We can't do failover

    dba http://blog.csdn.net/zengxuewen2045/article/details/51524880 关于这个错误:   1 2 3 4 Mon Feb 13 10:29: ...

  10. sql中的STRFTIME

    STRFTIME返回的是一个字符串 STRFTIME('%w',myTime) in ('1','2','4','5') 可以正确执行,而 STRFTIME('%w',myTime) in (1,2, ...