Symptomen
Als in Microsoft Exchange Server 2013 een test wordt uitgevoerd met behulp van statuspostvakken nadat het standaard geaccepteerde domein is gewijzigd, mislukt de test en wordt een System.Security.SecurityException-uitzondering geretourneerd. Dit kan leiden tot onnodige failover in de database.
Tijdelijke oplossing
U kunt dit probleem op een van de volgende manieren omzeilen.
Methode 1
Als alle UPN-domeinonderdelen van het statuspostvak identiek zijn, wijzigt u het standaard geaccepteerde domein zodat dit overeenkomt met de waarde die in de statuspostvakken is gestempeld.
Als u het UPN-domein voor de gezondheidspostvakken wilt controleren, voert u de cmdlet Get-Mailbox –Monitoring uit.
Opmerking Als de statuspostvakken verschillende UPN-domeinen hebben, zoals bar.local en bar1.local, kunt u deze methode niet gebruiken omdat alle UPN-domeinen moeten overeenkomen met het standaard geaccepteerde domein om dit probleem te voorkomen. In dit geval probeert u methode 2.
Methode 2
Schakel alle gerelateerde testresponders uit. Hiermee wordt een databasefailover voorkomen die wordt veroorzaakt door gerelateerde tests.
Voer bijvoorbeeld de Add-ServerMonitoringOverride cmdlet als volgt uit:
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 Opmerking In dit cmdlet-voorbeeld vertegenwoordigt Server_name de feitelijke naam van de server.
Als u het standaard geaccepteerde domein niet kunt wijzigen, wijzigt u handmatig het UPN- en SMTP-adres van de gezondheidspostvakken, zoals in het volgende voorbeeld:
# 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()
}