Dynamics 36伍 Online用户密码三问及其解答

小编微信和易信公众号: 微软动态C凯雷德M专家罗勇
,回复26四如故20170903可方便获取本文,同时能够在第贰间取得笔者发布的新颖的博文消息,follow
me!笔者的网址是 www.luoyong.me 。

摘要: 本身微信和易信公众号: 微软动态CLANDM专家罗勇
,回复二陆3如故2017082八可方便获取本文,同时能够在第①间取得作者发表的新式的博文音讯,follow
me!小编的网址是 www.luoyong.me 。

Dynamics 36伍 Online暗中同意使用的Office 3陆5的账号种类,使用的Azure
AD进行登录验证。

品种升级到Dynamics
3陆伍自此,过了些日子,有的账号举报使用非常的慢,甚至同三个地点壹样台电脑用不一致的账号尤其是拓展数据修改的时候会意识有妇孺皆知的速度差别,Why?

题材1:管理员怎么着转移别的用户密码?

初叶的表象发现是POST
到这些请求 /AppWebServices/Inline艾德itWebService.asmx
相比较慢,那一个是系统标准的事物,即使是有题目,大家能做的可能也有数。奇怪的是大家运用同样业务部门同样剧中人物的账号处理类似单据的时候并不可能再次出现此题材,而且通过SQL
Profiler抓取的SQL执行语句也平素不意识实施时间非常长的SQL。

管理员登录
https://portal.office.com,如下,小编的Azure
AD绑定了自身要好的域名,www.sugege.top
,所以本人的登录名字不是像许六个人那么以 onmicrosoft.com
结尾,而是以本人要好的域名结尾,这么3个小改变,看起来高大上有些。假诺你也想驾驭Azure
AD怎么着绑定本人的域名,请参考官方文书档案: 快捷入门:将自定义域名添加到
Azure Active
Directory
 。那里顺便为新的登录界面点赞,看起来不错。

有反常态就有消除难题的方法,大神们日夜分析,发现卡顿的显要缘由是执行部分SQL后会卡顿,等待接下来再进行,那样造成的一体化时间相当长,整个经过还是能够当先20秒。再次详细分析,发现每回这几个卡顿都会又壹回询问 BusinessProcessflowInstanceBase
那个表,奇怪啊,大家并不曾使用业务流程。后来微软技术帮忙主题向越来越广阔的界定求助,终于找到答案,原来是Dynamics
36五方始,COdysseyM中的一条记下可能有七个活动业务流程,每种人根据其权力等展现的业务流程又不尽一致。所以会询问这几个表,当然在询问那个表以前会先查询那条记下相关的MRU(Most
Recently Used
List,近来走访列表),不过如若那几个MRU极大,就会1二分耗费时间导致等待。

图片 1

那么那样MRU怎么看?当然你能够经过SQL间接来看,这几个MU福睿斯跟用户和实体的Typecode有关,上边是查看有个别用户的具有MRU:

 

1 select ueus.RecentlyViewedXml,
2 len(ueus.RecentlyViewedXml) as RecentlyViewedXmlLength,
3 sysuser.FullName,
4 entity.LogicalName
5 from UserEntityUISettings ueus 
6 left join SystemUserBase sysuser on ueus.OwnerId = sysuser.SystemUserId 
7 left join entity on ueus.ObjectTypeCode = entity.ObjectTypeCode

登6后在左边的领航面板中甄选 用户 >
活动用户,在左侧的用户中找到或许搜索到要转移密码的用户,点击它,会冒出新的层,点击
重置密码 按钮。

本人看齐作者那一个账号平日选择ly_test那个实体,发现其RecentlyViewedXml大小也有
883贰字节,倘使你用的狠的话,这几个数字大概会超过1Mb。这些里面包车型客车情节本身简化下如下:

图片 2

 1 <RecentlyViewedEntityData etc="10007">
 2   <RecentlyViewedItem>
 3     <Type>0</Type>
 4     <ObjectId>{5DA888D6-06A3-E611-816B-000D3A80C8B8}</ObjectId>
 5     <EntityTypeCode>10007</EntityTypeCode>
 6     <DisplayName>罗勇测试</DisplayName>
 7     <Title>批量操作创建的罗勇测试记录</Title>
 8     <Action></Action>
 9     <IconPath></IconPath>
10     <PinStatus>false</PinStatus>
11     <ProcessInstanceId></ProcessInstanceId>
12     <ProcessId></ProcessId>
13     <LastAccessed>11/05/2016 03:20:58</LastAccessed>
14   </RecentlyViewedItem>
15 </RecentlyViewedEntityData>

 

怎么搞定?当然你能够通过团伙劳务来解除那些字段的值,也足以直接用SQL来拍卖,比如将长度超越一千的破除:

重置密码界面如下,这里就不表达了。

1 update UserEntityUISettings 
2 set RecentlyViewedXml=null
3 where len(RecentlyViewedXml)>=1000

图片 3

用SQL来祛除那几个MRU有个弊端正是急需重启IIS,因为它在劳动器端有缓存。

 

当然也能够写程序来解除,最近未有观看界面上提供手动清除MRU的地点:

标题贰:通过现有密码修改密码

 1                 Console.WriteLine("本程序用于清理你输入账号的最近访问记录。");
 2                 string userName = string.Empty;
 3                 string passWord = string.Empty;
 4                 Console.WriteLine("请输入登录的用户名,输入完毕后按回车键确认:");
 5                 userName = Console.ReadLine().ToString().Trim();
 6                 Console.WriteLine("请输入登录的密码,输入完毕后按回车键确认:");
 7                 while (true)
 8                 {
 9                     ConsoleKeyInfo ck = Console.ReadKey(true);
10                     if (ck.Key != ConsoleKey.Enter)
11                     {
12                         if (ck.Key != ConsoleKey.Backspace)
13                         {
14                             passWord += ck.KeyChar.ToString();
15                             Console.Write("*");
16                         }
17                         else
18                         {
19                             Console.Write("\b \b");
20                         }
21                     }
22                     else
23                     {
24                         break;
25                     }
26                 }
27                 ClientCredentials cc = new ClientCredentials();
28                 cc.UserName.UserName = userName;
29                 cc.UserName.Password = passWord;
30                 OrganizationServiceProxy orgSvc = new OrganizationServiceProxy(new Uri("https://demo.luoyong.me/XRMServices/2011/Organization.svc"),
31                 null, cc, null);
32                 WhoAmIRequest whoReq = new WhoAmIRequest();
33                 WhoAmIResponse whoRep = orgSvc.Execute(whoReq) as WhoAmIResponse;
34                 var userEntity = orgSvc.Retrieve("systemuser", whoRep.UserId, new ColumnSet("fullname"));
35                 Console.WriteLine(string.Format("登录成功,欢迎{0},继续操作请输入y!", userEntity.GetAttributeValue<string>("fullname")));
36                 var input = Console.ReadLine().ToString().ToUpper();
37                 if (input == "Y")
38                 {
39                     QueryExpression qe = new QueryExpression("userentityuisettings");
40                     qe.ColumnSet = new ColumnSet("recentlyviewedxml");
41                     qe.Criteria.AddCondition("ownerid", ConditionOperator.Equal, whoRep.UserId);
42                     var usersettings = orgSvc.RetrieveMultiple(qe);
43                     if (usersettings.Entities.Count >= 1)
44                     {
45                         Console.WriteLine("共找到" + usersettings.Entities.Count + "条最近访问记录!");
46                         foreach (var item in usersettings.Entities)
47                         {
48                             item["recentlyviewedxml"] = null;
49                             orgSvc.Update(item);
50                         }
51                     }
52                 }
53                 else
54                 {
55                     Console.WriteLine("你选择了取消操作!");
56                 }
57                 Console.WriteLine("程序运行完成!");
58                 Console.ReadKey();

      最开头自个儿觉得这几个也是登录 portal.office.com
来修改,后来才意识原先笔者Not young, Too Simple. 官方提供的法子是登录
https://www.office.com/signin .登陆后点击右上角的 设置 图标,选择 密码
就进来更改密码界面了。

据笔者对那么些MRU的调查,MRU的缓存在IIS上有缓存,用户登录会从服务器上收获缓存,本地并不是因而浏览器来缓存,会在用户退出登录时候将拜访记录写入到服务器端。所以唯有凭借程序照旧SQL来驱除MRU还不管用,供给般配IIS重启。

图片 4

系统在那些企划上或许不足驰念,比如对准有个别实体的MRU借使跨越一定的数据选拔先进先出的艺术自动清除掉前边的访问记录,毕竟保存那么多也从未一点都不小的用途,除非您要做访问记录的复核。也得以设想再某些地点让用户自行清理。希望微软Dynamics
CKoleosM产品组早日就此题材提议根本化解方案。

只可是那一个是内需明白今后密码才能改变,如下图所示:

 

图片 5

 

 

题材三:忘记密码后怎样自助找回密码?

     那些须求登录 https://passwordreset.microsoftonline.com/
来找回密码:

图片 6

 

万一您的管理人未有改动过策略的话,默许景况下,会看出如下界面:

图片 7

那就要求管理员登录
https://aad.portal.azure.com 去设置下,登录后点击左侧导航面板的Azure
Active Directory,再点击  密码重置,
那其间的参数及其含义小编就不啰嗦了,请参考官方文书档案:敏捷入门:Azure AD
自助密码重置
 。值得说的是,假设使用移动电话来重置密码,使用的又是中华陆上的手提式有线电话机号码,那么是收不到短信可能不会给你语音告知验证码的,恐怕是炎黄特点吗。还有值得一提的是,假诺你敞开了自助密码重置,默许意况下,登录Dynamics
3六5Online的时候会必要你至少经过一种找回密码身份验证途径验证才能继承选拔Dynamics
C本田CR-VM Online。那三种途径分别是:电子邮件、移动电话、办公电话、安全题材。

图片 8

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注