上一篇文章我们说过,新的EXO cmdlet,主要用来解决性能,断开连接和超时问题,这些问题在管理员管理EXO环境时经常使他们感到困扰。那些这节来继续聊这个话题。
从历史角度来看,Exchange 2007实际上是第一个支持PowerShell的Exchange版本,后来到了Exchange 2010推出了远程PoweShell,直到现在的主流Exchange版本,使用的仍然是这种远程PowerShell的连接方式。换句话说,这种连接方式使用了十年以上的时间,且从来没有真正去改进过....
那么这种连接方式具体有什么问题呢?在前面的公众号文章中已经说明的很清楚了,这里不再重复表述。
(文章:Exchange Online PowerShell的性能和可用性)
首先我们对比一下传统PowerShell和REST PowerShell在命令方面的区别:
1. 原始命令
2. REST命令(把select属性替换成了显示调用的properties和propertysets属性)
与Azure Active Directory模块一样,REST cmdlet支持对象标识符和用户主体名,但不支持RPS cmdlet支持的标识类型范围,说白了就是把identity替换掉了,新的查询方式如下:
那么跟传统的cmdlet相比,REST cmdlet有什么特点呢?如下。
与RPS cmdlet相比,REST cmdlet以不同的顺序返回数据(字母顺序和创建时间)
使用ExternalDirectoryObjectId (Azure AD GUID for account)作为标识,以确保唯一性
只支持Oauth身份验证
会检查cmdlet输出中的日期;报告可能需要重新格式化
更简单的错误处理,但需要检查(处理HTTP 500和其他错误)
下面这张图则形象说明了REST cmdlet的执行效率跟RPS相比是多么优秀:
RPS花费了1.656156秒(31个)邮箱:平均每秒18.72个邮箱
REST花费了0.320044秒(31个)邮箱:平均每秒96.86个邮箱
另外,不管是Smail Object Sets还是Large Object Sets,都有良好的表现,如图所示。
备注:下面的测试结果,虽然根据服务器的负载和性能不同会有所差异,但不管怎么样,REST都更快速。
以上就是关于Exchange Online PowerShell的进一步解读,希望能够帮到大家。
领取专属 10元无门槛券
私享最新 技术干货