症状
在 Microsoft Exchange Server 2013,如果主动监控后默认的接受域发生了更改,使用健康邮箱运行探测器探测失败并返回System.Security。发生异常。这可能会导致不必要的数据库故障转移。
解决方法
若要变通解决此问题,请使用下列方法之一:
方法 1
如果所有健康邮箱 UPN 域部分都是相同的更改默认接受的域,以便它与在健康的邮箱中标记的值匹配。
若要检查健康邮箱的 UPN 域,请运行获取邮箱 – 监视cmdlet。 注意:如果健康邮箱具有不同的 UPN 域,如 bar.local 和 bar1.local,您不能使用此方法,因为所有 UPN 域必须与默认的接受域都匹配以避免此问题。在这种情况下,请尝试方法 2。方法 2
禁用任何相关的探测器响应程序。这将防止数据库故障转移引起的相关探测器。
例如,运行添加 ServerMonitoringOverride cmdlet,如下︰Add-ServerMonitoringOverride -ItemType Responder -Identity RPS.Protocol\RpsDeepTestPSProxyFailover -PropertyValue 0 -PropertyName Enabled -Duration "60.00:00:00" -Server Server_name
Add-ServerMonitoringOverride -ItemType Responder -Identity ActiveSync\ActiveSyncSelfTestDatabaseFailover -PropertyValue 0 -PropertyName Enabled -Duration "60.00:00:00" -Server Server_name 注意:在此 cmdlet 的示例中,服务器名称表示实际的服务器名称。 如果您不能更改默认的接受域,手动更改 UPN 和 SMTP 地址的健康邮箱,如以下示例所示︰# THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK# OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
$newDomain = "bar.local" # This is the new domain name. Must be changed according to the environment. $healthMailboxes = Get-Mailbox -Monitoring; foreach ($mailbox in $healthMailboxes) { $upn = $mailbox.Name + "@" + $newDomain Set-User $mailbox -UserPrincipalName:$upn Set-Mailbox $mailbox -PrimarySmtpAddress:$upn -EmailAddressPolicyEnabled:$false $adUser = [ADSI]("LDAP://"+$mailbox.DistinguishedName) $adUser.msExchRecipientTypeDetails = "549755813888" $adUser.SetInfo() }