Exchange Server 2013 – MAPI over HTTP aktivieren

MAPI over HTTP wurde mit Exchange Server 2013 Service Pack 1 eingeführt und benötigt mindestens Outlook 2013 Service Pack 1.

  • Keine Bindung an RPC
  • Bei Verbindungsabbruch oder Netzwerkwechsel schnellere Reconnects, da nur die HTTP-Verbindung wiederhergestellt werden muss
  • Besseres Handlich für Firewalls und Loadbalancer
  • Einfacheres Troubleshooting
  • Höhere Auslastung auf Client Access Servern

MAPI over HTTP aktivieren

MAPI over HTTP ist standardmäßig deaktiviert und muss erst konfiguriert und aktiviert werden:

MAPI over HTTP Virtual Directory konfigurieren

Damit MAPI over HTTP per Autodiscover konfiguriert werden kann, muss das Virtuelle Directory konfiguriert werden:

Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -InternalUrl https://mail.domain.local/mapi –ExternalUrl https://mail.domain.de/mapi -IISAuthenticationMethods NTLM,Negotiate

MAPI over HTTP aktivieren

Nun kann MAPI over HTTP in der gesamten Exchange Organisation aktiviert werden. Dies geschieht mit folgendem Befehl:

Set-OrganizationConfig -MapiHttpEnabled $true

IIS Reset

Zum Schluss muss noch der IIS auf jedem Exchange Server neugestartet werden:

issreset

Erste Verbdingung mit MAPI over HTTP

Bis die Outlook 2013 Clients mit Service Pack 1 diese Konfigurationsänderung mitbekommen, kann ca. 30 Minuten dauern. Danach erscheint folgende Meldung:

Exchange 2013 MAPI over HTTP 2

Nun kann man in den Verbindungseigeschaften das verwendete Protokoll überprüfen:

Exchange 2013 MAPI over HTTP 1

Wenn hier „HTTP“ steht, hat es geklappt.

MAPI over HTTP testen

Mit folgendem Befehl kann MAPI over HTTP getestet werden:

Test-OutlookConnectivity -ProbeIdentity OutlookMapiHttpSelfTestProbe

MAPI over HTTP Logging

In folgenden Verzeichnissen werden die Logs abgelegt:

%ExchangeInstallPath%Logging\MAPI Address Book Service\
%ExchangeInstallPath%Logging\MAPI Client Access\
%ExchangeInstallPath%Logging\HttpProxy\Mapi\

MAPI over HTTP in Outlook 2013 deaktivieren

MAPI over HTTP wird automatisch per Autodiscover aktiviert. Es kann aber in der Registry deaktiviert werden:

HKCU\Software\Microsoft\Exchange\MapiHttpDisabled (DWORD) = 1

Exchange Server 2013 – Performance Counter Fehler beheben

Während der Installation von Exchange Server 2013, sollten eigentlich alle nötigen Performance Counter regestriert werden. Dies schlägt meistens fehl und von nun an wird das Eventlog mit Fehler geflutet.

Beispiel einer Meldung

Fehler beim Aktualisieren eines Leistungsindikators. Der Indikatorname lautet 'Delay Time Threshold', der Kategoriename ist 'MSExchange User WorkloadManager'. Optionaler Code: 3. Ausnahme: The exception thrown is : System.InvalidOperationException: Die Instanz "rca" ist bereits mit einer dem Prozess entsprechenden Lebensdauer vorhanden. Sie kann erst erneut erstellt oder verwendet werden, wenn sie entfernt wurde, oder der Prozess, der sie verwendet, beendet wurde.
   bei System.Diagnostics.SharedPerformanceCounter.FindInstance(Int32 instanceNameHashCode, String instanceName, CategoryEntry* categoryPointer, InstanceEntry** returnInstancePointerReference, Boolean activateUnusedInstances, PerformanceCounterInstanceLifetime lifetime, Boolean& foundFreeInstance)
   bei System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName, String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime lifetime)
   bei System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)
   bei System.Diagnostics.PerformanceCounter.InitializeImpl()
   bei System.Diagnostics.PerformanceCounter.set_RawValue(Int64 value)
   bei Microsoft.Exchange.Diagnostics.ExPerformanceCounter.set_RawValue(Int64 value)
Last worker process info : System.ArgumentException: Es wird kein Prozess mit der ID 3180 ausgeführt.
   bei System.Diagnostics.Process.GetProcessById(Int32 processId)
   bei Microsoft.Exchange.Diagnostics.ExPerformanceCounter.GetLastWorkerProcessInfo()
Processes running while Performance counter failed to update: 
5524 w3wp
3356 MonitoringHost
2172 svchost
4 System
396 csrss
0 Idle
..................
Performance Counters Layout information: A process is holding onto a transport performance counter. processId : 3952, counter : average task wait time Value=1 SpinLock=0 Lifetime=Type: 1 ProcessId: 3952 StartupTime: 130431896595313549, currentInstance : owa(B875F7C) RefCount=0 SpinLock=0 Offset=3216, categoryName: MSExchange User WorkloadManager 
A process is holding onto a transport performance counter. processId : 784, counter : average task wait time Value=1 SpinLock=0 Lifetime=Type: 1 ProcessId: 784 StartupTime: 130432298547223973, currentInstance : ews(B8724E4) RefCount=1 SpinLock=0 Offset=2408, categoryName: MSExchange User WorkloadManager 
A process is holding onto a transport performance counter. processId : 16260, counter : average task wait time Value=10 SpinLock=0 Lifetime=Type: 1 ProcessId: 16260 StartupTime: 130432298608633345, currentInstance : eas(B8721B2) RefCount=1 SpinLock=0 Offset=1600, categoryName: MSExchange User WorkloadManager 
A process is holding onto a transport performance counter. processId : 4172, counter : average task wait time Value=1 SpinLock=0 Lifetime=Type: 1 ProcessId: 4172 StartupTime: 130431896723907291, currentInstance : rca(B878B35) RefCount=1 SpinLock=0 Offset=32, categoryName: MSExchange User WorkloadManager 

Exchange 2013 - Performance Counters 1

Performance Counter erneut regestrieren

Um die Fehler zu beheben, müssen die Performance Counter erneut regestriert werden. Diese befinden sich im Exchange Server 2013 Installations Verzeichnis im Order „Setup/Perf“.

Powershell Snapin laden

Damit alle nötigen Cmdlets vorhanden sind, muss folgendes Snapin geladen werden:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Setup

Exchange 2013 - Performance Counters 2

Performance Counter regestrieren

Nun kann folgender Befehl ausgeführt werden, um die Performance Counter erneut zu regestrieren,

Get-ChildItem "Exchange_Installation\Setup\Perf" | Where-Object {$_.Name -match ".xml"} | Foreach {New-PerfCounters -DefinitionFileName $_.FullName}

Exchange 2013 - Performance Counters 3

Der Fehler bei einem Performance Counter ist normal, wenn die Installationsdateien von Exchange Server Service Pack 1 benutzt werden. Damit sollten die Eventlog Fehler behoben sein.