我发现在Exchange 2010/2013,甚至2016 CU2中,一个DAG中数据库被激活在不同的服务器上后,使用命令

Get-Mailbox -Identity mailtest01 | fl name,Server*,database 获取到的ServerName和ServerLegacyDN不正常,仍然现在为旧Exchange服务器。正常情况下,数据库激活在哪台Exchange服务器上ServerName和ServerLegacyDN就会显示为当前的Exchange Server。对于这个现象微软官网给出的解释是产品设计就是这样,为了节省服务器性能所以ServerName和ServerLegacyDN不会及时进行更新(具体说明可以参考:

https://blogs.technet.microsoft.com/app***v/2014/03/10/get-mailbox-does-not-reflect-the-correct-server-name-for-mailboxes-on-databases-for-a-dag/

;如果要获取正确的ServerName和ServerLegacyDN需要使用命令Get-MailboxStatistics -Identity mailtest01 | fl displayname,Servername才能获取到正确的信息。

以后遇到类似的问题可以不用再去费力找原因了,产品设计如此。

下面给出一个此类现象此示例:

1、使用命令Get-Mailbox -Identity test01 | fl name,Server*,database    获取邮箱test01的ServerName和ServerLegacyDN信息,获取到的信息显示为EXC02,如图。

p_w_picpath

2、使用命令:Get-MailboxDatabaseCopyStatus DB15  获取DB15当前的副本激活状态,显示当前数据库DB15激活在EXC05上。而邮箱test01使用命令Get-Mailbox -Identity test01 | fl name,Server*,database      获取出来的ServerName为EXC02。

p_w_picpath

3、接下来使用命令:Get-MailboxStatistics -Identity test01 | fl displayname,Servername   获取到的ServerName属性值为正常值。

p_w_picpath