在使用Exchange Online的邮件记录管理时,往往会以到这样一类情形。为用户设置了一个较短时间的保留策略,可能这个保留策略是针对用户的订阅邮件设置的,其策略内容为自动删除三天前的此类邮件。本来在正常的工作情况下是没有问题的。但是遇到用户有休假或其它特殊情况,可能在三天内不会去处理或查看邮件。因此,导致这些被策略处理的邮件尚未被用户查看就被删除掉了。
怎么才能避免为用户带来这样不好的体验呢?即如何才能让这些休假或因某种原因不能及时查看邮箱的用户,延迟处理那些被策略作用的邮件?通过保留挂起功能可以很好的解决上述问题。
一、什么是保留挂起
保留挂起是一种限制托管文件夹助理的设置。将邮箱放在保留挂起中,那么托管文件夹助理将不会对该邮箱进行保留策略的处理。
在保留挂起的时间内,用户还是可以正常访问其邮箱的,并且对邮箱中的邮件进行更改或删除等操作。同时在执行邮箱中邮件检索的时候,检索的结果中不会返回超过已删除邮件保留期的已删除邮件。如果需要确保在合法保留方案中保留用户更改或删除的邮件,则必须使用其它相关的法定保留、诉讼保留等功能。
二、怎样实现保留挂起
保留挂起的实现必须通过Exchange Online PowerShell来进行操作,在Exchange管理中心里是无法实现的。
通过修改用户邮箱的RetentionHoldEnabled属性,可以禁用和启用保留挂起功能。默认情况下,该值属性的值为False,即禁用保留挂起。将其值设置为True则会启用保留挂起。
1、通过Exchange Online PowerShell登录Office 365的Exchange Online
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://partner.outlook.cn/PowerShell/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
2、查看指定用户邮箱是否启用保留挂起
Get-Mailbox “Zhang San” | Select RetentionHoldEnabled
3、为指定用户设置启用保留挂起
Set-Mailbox “Zhang San” -RetentionHoldEnabled $true
Get-Mailbox “Zhang San” | Select RetentionHoldEnabled
4、禁用指定用户的保留挂起功能
Set-Mailbox “Zhang San” -RetentionHoldEnabled $false
Get-Mailbox “Zhang San” | Select RetentionHoldEnabled
5、查看整个组织中哪些用户邮箱启用了保留挂起功能
Get-Mailbox -ResultSize unlimited | Where-Object {$_.RetentionHoldEnabled -eq $true} | Format-Table Name,RetentionPolicy,RetentionHoldEnabled -Auto
上述命令的执行,会显示当前组织中被启用了保留挂起的用户邮箱,而且还同时显示这些邮箱被应用的保留策略是什么。另外,需要注意的是,该命令的执行将遍历组织中的所有用户邮箱,如果组织中用户邮箱数非常大,则会导致检索时间极长。
三、保留挂起与禁用托管文件夹助理的区别
在Exchange Online中还有一个邮箱属性ElcProcessingDisabled,该属性的作用为是否禁用托管文件夹助理对邮箱进行操作。
托管文件夹助理按保留策略对邮箱进行操作只是其多个任务中的一个。而ElcProcessingDisabled则是彻底禁止托管文件夹助理对邮箱的操作,该属性开启后,托管文件夹助理将不会对邮箱进行任何操作,不仅包括保留策略的任务,还包括如 “可恢复的项目”目录中到期邮件标识为永久删除的操作。
因此,虽然通过ElcProcessingDisabled属性同样可以达到挂起处理保留策略的效果,但是托管文件夹助理的其它相关操作将会被同时阻止。因此,仍然建议在仅实现保留挂起功能的时候利用RetentionHoldEnabled属性来进行设置。