前几天遇到一个奇葩事情,公司在做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,如需转载请自行联系原作者