在之前的体验中,几乎所有的Exchange Online PowerShell V2命令相对旧版的Exchange Online PowerShell都提到了提升效率。这一效率的提升,微软的说明是旧版传统的Exchange Online PowerShell输出返回所有可能的对象属性,同时会包括许多通常为空的属性,或者在很多时候不需要使用这些属性。根据80/20原则来讲,旧版的Exchange Online PowerShell会同时输出通常不用的80%的“多余信息”。这些“多余信息”在输出和处理的过程中将占用计算、存储等服务器资源,也会占用更多的网络带宽导致网络负载增大,从而带来较低的效率。
而Exchange Online PowerShell V2可以进行分类输出属性。微软在Exchange Online PowerShell V2将特定相关的属性进行了归类,同一类属性形成一个属性集,用户可以按自身查询需求指定输出特定的属性集。由于不是所有的属性,而是由针对性的属性集,所以对于用户来讲将更容易在返回结果中定位到其所需要的信息。同时,属性集是所有属性的一个子集,其返回速度将明显高于返回所有属性。从而大幅提供用户和服务的效率。
一、属性集和属性
目前预览版中的Exchange Online PowerShell V2针对Get-EXOCasMailbox、Get-EXOMailbox、Get-EXORecipient和Get-EXOMailboxStatistics等4中命令提供属性集功能。
上述命令在使用的时候,默认只输出返回最小属性集(Minimum),该属性集包含了对象最常被需要查询的基本属性。如果使用PropertySets参数指定属性集后,将输出最小属性集中的基本标识信息与指定属性集的内容之和。也就是说,最小属性集中的基本标识信息作为基本属性集在任何时候都会输出的。
对于Exchange Online PowerShell V2上述4种命令,还可以通过指定具体的属性,使用Properties参数获取具体的属性。这又更近一步提高了命令执行的效率,因为这样的操作返回的内容除最小属性集中的基本标识信息之外,就只有用户真实所需的查询结果。
不管是属性集还是属性,都可以在同一条命令中同时指定多个。这些同时指定的属性集或属性只需要用逗号隔开即可。Exchange Online PowerShell V2将返回最小属性集和指定属性集或属性叠加后的内容之和。
在属性集种有一种属性集为All,该属性集即为所有属性,也就是说,如果需要返回所有属性,那么就给属性集参数指定All值即可。
1、Get-EXOCasMailbox属性集
2、Get-EXOMailbox属性集
3、Get-EXORecipient属性集
4、Get-EXOMailboxStatistics属性集
二、体验属性集和属性的使用
对于4种命令中,最常使用的是获取用户邮箱的命令,因此接下来,均以Get-EXOMailbox命令作为体验。
1、连接到Office 365的Exchange Online组织
Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365China
2、对比旧版Exchange Online PowerShell和Exchange Online PowerShell V2
在此以默认默认输出返回进行对比:
Get-Mailbox zhangsan | fl
由于截图原因,该图片省略了后续多行。
Get-EXOMailbox zhangsan | fl
可以看出,旧版的Exchange Online PowerShell会完全输出所有的内容,其实有很大一部分根本可能都是不需要了解的。比如只想获取该用户邮箱的GUID。
3、显示获取最小属性集
Get-EXOMailbox zhangsan -PropertySets Minimum | fl
可以看到,指定查询最小属性集返回的内容和默认返回的内容相同。
4、获取指定属性集的内容
Get-EXOMailbox zhangsan -PropertySets AddressList | fl
5、获取多个指定属性集的内容
Get-EXOMailbox zhangsan -PropertySets Custom,Delivery | fl
6、获取指定具体属性的内容
Get-EXOMailbox zhangsan -Properties MaxReceiveSize,MaxSendSize