crm SDK 设置用户的上级
/// <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 设置用户的上级的更多相关文章
- APUE学习之三个特殊位 设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky
设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky set-user-ID: SUID 当文件的该位有设置时,表示当该文件被执行时,程序具有文件 ...
- 【转】linux 设置用户id 设置组id
linux 设置用户id 设置组id 转自 linux 设置用户id 设置组id 最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个 ...
- UNIX文件的权限之“设置用户ID位”
用stat函数可以获取一个文件的状态信息,原型是这样的: int stat(const char *path, struct stat *buf); 其中结构体stat的结构: struct stat ...
- 设置用户ID和设置组ID
与一个进程关联的ID有6个或更多,如下图所示: 与每个进程相关联的用户ID和组ID 实际用户ID 实际组ID 我们实际是谁 有效用户ID 有效组ID 附加组ID 用于文件访问权限检索 保存的设置用户I ...
- 文件和目录之设置用户ID和设置组ID
与一个进程相关联的ID有6个或更多,它们如表4-4所示: 表4-4 与每个进程相关联的用户ID和组ID 实际用户ID 我们实际上是谁 实际组ID ...
- YII设置用户访问过滤
设置用户访问过滤 1.哪个控制器设置访问过滤,就在哪个控制器中添加如下代码 class XxxController extends Controller { //当前控制器是否使用过滤功能 publi ...
- linux系统学习笔记:无死角理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID
一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用 ...
- 实际用户ID,有效用户ID和设置用户ID
摘自http://blog.csdn.net/guosha/article/details/2679334 实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没 ...
- 实际用户ID,有效用户ID及设置用户ID
实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解.今天好好区分了一下这几个概念并总结如下.说白了这几个U ...
随机推荐
- sqler sql 转rest api 的工具试用
sqler 从开源很快就获取了1k的star,使用起来很方便,而且也很灵活,支持的数据库也比较多. 支持的功能 无需依赖,可独立使用: 支持多种数据可类型,包括:SQL Server, MYSQL, ...
- sudo command
sudo -i : login as sudo password: change the password of current login user exit : logout
- 【网络协议】TCP分段与IP分片
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/30109789 我们在学习TCP/IP ...
- 程序设计实践 (Brian W. Kernighan Rob Pike 著)
第1章 风格 1.1 名字 1.2 表达式和语句 1.3 一致性和习惯用法 1.4 函数宏 1.5 神秘的数 1.6 注释 1.7 为何如此费心 第2章 算法与数据结构 2.1 检索 2.2 排序 2 ...
- JavaScript数组的一些奇葩行为
今天,复习了一下JavaScript的数组,然后,把他的一些奇葩行为总结了一下,在这里和大家share一下,如果有不对的地方,欢迎指出! 奇葩1:Array()构造器函数可以不使用new关键字进行调用 ...
- C++ vs Objective C
oc Short list of some of the major differences: C++ allows multiple inheritance, Objective-C doesn't ...
- 通过阅读python subprocess源码尝试实现非阻塞读取stdout以及非阻塞wait
http://blog.chinaunix.net/uid-23504396-id-4661783.html 执行subprocess的时候,执行不是问题最麻烦的是获取进程执行后的回显来确认是否正确执 ...
- bzoj 3600 没有人的算术——二叉查找树动态标号
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3600 已知 l 和 r 的排名,想快速知道 k 的排名.那么建一个 BIT ,用已知的排名做 ...
- HTTP 状态码的完整列表
一.1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码.SC_CONTINUE = 100; 100(继续)请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余 ...
- Variant <-->Record Variant <-->Stream
// TARec ---> Variantfunction RecordToVariant(value:TParamRecord):OleVariant;var P:Pointe ...