天天看点

显示隐藏的断开连接的邮箱

   前几天遇到一个奇葩事情,公司在做Office365 Exchange Online混合部署的时候。一个用户在从本地Exchange 服务器迁移到Office365的时候,该用户账号莫名的就消失了!!对,你没看错,莫名的消失了。我并没有在本地禁用或者删除该用户,但是用户邮箱数据库就不翼而飞了。当然了,这个问题我们已经提交了CASE给微软Office365团队,具体原因待查明后,我会发到博客里面。

今天主要给大家分享的是找回这个邮箱数据的过程。

1. 在处理这个问题之前,首先我会仔细查看本地exchange服务器上的“已断开连接”邮箱,发现并没有该用户的邮箱。难道这个用户的邮箱真的“蒸发”了!?

<a href="http://s3.51cto.com/wyfs02/M01/6E/B3/wKioL1WDi5-SZh9QAANGoLfvQrY988.jpg" target="_blank"></a>

2. 由于不死心,登上服务器去使用命令来查

查看目前邮件服务器中的已断开连接的邮箱

Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -ne $null} | ft displayname,database,disconnectreason -auto

<a href="http://s3.51cto.com/wyfs02/M02/6E/B3/wKioL1WDi6DRy-TFAANfamzAVZ4930.jpg" target="_blank"></a>

在列表中并查找我们需要的已断开连接的用户,结果却是没找到。悲剧啊~~~

<a href="http://s3.51cto.com/wyfs02/M00/6E/B3/wKioL1WDi6HQahaEAAJ1H1lmJyU124.jpg" target="_blank"></a>

3. 后来查看了洋鬼子的资料之后发现,通过清理邮箱数据库可以重新整合邮箱数据库数据,类似于PC中的“刷新”

这里要重点介绍一下,Exchange 2010 和 Exchange 2013的命令不一样,这个也是查了好久才查到的,搞死人啊~~

Exchange 2010 在Eexchange PowerShell中运行

clean-mailboxdatabase "数据库名"

<a href="http://s3.51cto.com/wyfs02/M01/6E/B3/wKioL1WDi6GRNisxAADKPzgwlJc327.jpg" target="_blank"></a>

Exchange 2013在Eexchange PowerShell中运行

Get-MailboxStatistics -Database "Database name" | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false }

<a href="http://s3.51cto.com/wyfs02/M01/6E/B6/wKiom1WDie_BgjMDAAEp3DXbesA069.jpg" target="_blank"></a>

4. 再次通过第二步的命令查找断开连接的邮箱用户,该用户出现!

<a href="http://s3.51cto.com/wyfs02/M02/6E/B6/wKiom1WDifDg0NzIAAMPOaZLtXI926.jpg" target="_blank"></a>

5. 接下来就不用我说了吧,重新挂载即可

Exchange2010界面

<a href="http://s3.51cto.com/wyfs02/M00/6E/B3/wKioL1WDi6OQpYznAAMMkeypXW8575.jpg" target="_blank"></a>

Exchange2013界面

<a href="http://s3.51cto.com/wyfs02/M01/6E/B3/wKioL1WDi6Pg_i2CAAE5_T2osP0393.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/6E/B3/wKioL1WDi6Twi23PAAK7Om9H3i4480.jpg" target="_blank"></a>

     本文转自horse87 51CTO博客,原文链接:http://blog.51cto.com/horse87/1663485,如需转载请自行联系原作者