Die NSPI-Verbindung mit einem Windows-basierten Domänencontroller führt zum Ausfall von MAPI-Clientanwendungen und gibt eine Fehlermeldung "MAPI_E_LOGON_FAILED" zurück.

Gilt für: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 StandardWindows Server 2012 R2 Essentials

Wichtig Dieser Artikel enthält Informationen zum Ändern der Registrierung. Stellen Sie sicher, dass Sie die Registrierung sichern, bevor Sie sie ändern. Stellen Sie sicher, dass Sie wissen, wie Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern, Wiederherstellen und Ändern der Registrierung finden Sie unter der folgenden Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
322756 Sichern und Wiederherstellen der Registrierung in Windows

Problembeschreibung


Eine NSPI-Verbindung (Name Service Provider Interface) von einem MAPI-Client zu einem Windows Server 2008- oder höher versionsbasierten Domänencontroller schlägt möglicherweise fehl und gibt die folgende Fehlermeldung vom Server zurück:
MAPI_E_LOGON_FAILED
In einigen Fällen wird möglicherweise ein Anmeldeinformationsdialogfeld in der MAPI-Client-Benutzeroberfläche angezeigt, wenn dieses Problem auftritt. Zu den betroffenen Clients gehören Microsoft Outlook, Quest Migration Manager für Exchange und BlackBerry Enterprise Server.

Ursache


Dieses Problem tritt auf, weil Windows Server 2008 und neuere Versionen ein Standardmaximum von nur 50 gleichzeitigen NSPI-Verbindungen pro Benutzer zulassen. Zusätzliche NSPI-Verbindungen werden abgelehnt, und es wird eine Fehlermeldung MAPI_E_LOGON_FAILED zurückgegeben.Hinweis Windows Server 2003 und frühere Versionen von Microsoft Windows-Betriebssystemen weisen dieses Verhalten nicht auf. Die Verhaltensänderung in Windows Server 2008 und neueren Versionen soll Domänencontroller vor Clients schützen, die zu viele NSPI-Verbindungen öffnen, ohne die Verbindungen zu schließen. Zu viele Verbindungen wie diese können zu einer Ressourcenerschöpfung führen.

Fehlerbehebung


Um dieses Problem zu beheben, überprüfen Sie alle NSPI-Verbindungen, die auf dem Client erstellt werden, auf Verbindungslecks. Beispielsweise muss ein Aufruf der NspiBind-Funktion einen entsprechenden Aufruf der NspiUnbind-Funktion haben, wenn keine NSPI-Verbindung mehr erforderlich ist. Für diesen Vorgang kann es erforderlich sein, dass Sie alle benutzerdefinierten Skripts oder Anwendungen debuggen, die NSPI verwenden. Wenn dieses Problem externe Anwendungen betrifft, wenden Sie sich an die Softwarehersteller, um Updates zu erhalten.Hinweis Der Outlook NSPI MAPI-Anbieter, der mit Microsoft Outlook installiert ist, ist nur für die Verwendung mit Microsoft Outlook vorgesehen. Externe Skripts und Anwendungen, die auf dem Outlook NSPI MAPI-Anbieter basieren, werden nicht unterstützt.

So ändern Sie die Registrierung, um zusätzliche NSPI-Verbindungen zu ermöglichen

WarnungSchwerwiegende Probleme können auftreten, wenn Sie die Registrierung mithilfe des Registrierungs-Editors oder mit einer anderen Methode falsch ändern. Diese Probleme erfordern möglicherweise, dass Sie das Betriebssystem neu installieren. Microsoft kann nicht garantieren, dass diese Probleme gelöst werden können. Ändern Sie die Registrierung auf eigenes Risiko.Wenn mehr gleichzeitige NSPI-Verbindungen pro Benutzer rechtmäßig erforderlich sind, können Sie das Standardlimit ändern. Führen Sie hierzu die folgenden Schritte aus:
  1. Klicken Sie auf Start und auf Ausführen, geben Sie regedit ein, und klicken Sie auf OK.
  2. Klicken Sie auf den folgenden Unterschlüssel in der Registrierung:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS
  3. Klicken Sie mit der rechten Maustaste auf die Taste Parameter.
  4. Wählen Sie im Popupmenü Neuaus, und klicken Sie dann auf DWORD-Wert.
  5. Geben Sie NSPI max-Sitzungen pro Benutzerein, und drücken Sie dann die Eingabetaste.
  6. Doppelklicken Sie auf NSPI max-Sitzungen pro Benutzer, geben Sie die maximale Anzahl der gewünschten NSPI-Verbindungen ein, und klicken Sie dann auf OK. Hinweis Obwohl die Obergrenze dieser Einstellung 0xffffffff (oder 4294967295) ist, verbraucht eine Serverkonfiguration mit einem Wert, der größer als der Standardwert ist, zusätzlichen Speicher (eine neue Seite pro Verbindung) auf dem Server. Wenn dieser Wert zu hoch festgelegt ist und zu viele Verbindungen für jede Benutzeranwendungsinstanz erstellt werden, ist auf dem Server nicht mehr Arbeitsspeicher verfügbar oder er reagiert vollständig nicht mehr. Das niedrigere Standard-NSPI-Verbindungslimit in Windows Server 2008 basierte auf der Kundenerfahrung, bei der sich frühere Betriebssysteme von Produkten von Drittanbietern überfordern ließen, was im Wesentlichen ein Denial-of-Service-Angriff ist. Sie sollten einen gesunden Menschenverstand verwenden, um die maximale Sitzungseinstellung über den Standardwert hinaus zu erhöhen. Beginnen Sie z. B. mit der Dezimalstelle 250 (hex 0x000000FA), und testen Sie dann, ob der erstellte Speicheraufwand und die Beendeten der Fehler angezeigt werden. Ihre langfristige Lösung muss darin bestehen, sich an den Hersteller Ihres NSPI-Produkts zu wenden, um ihn zu bitten, dieses Verhalten zu ändern. Eine Änderung des Registrierungswerts dient nur als Problemumgehung, um Fehlererleichterungen bereitzustellen.
  7. Beenden Sie den Registrierungs-Editor.
  8. Starten Sie den Computer neu, oder starten Sie Active Directory-Domänendienste neu.

Alternativ können Sie dies tun, indem Sie den folgenden Befehl in einem Eingabeaufforderungsfenster mit Administratorberechtigung ausführen:

reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters /v "NSPI max sessions per user" /t REG_DWORD /d 250 /f

 

Weitere Informationen


Ein Ereignis, das dem folgenden ähnelt, wird im Verzeichnisdienste-Ereignisprotokoll protokolliert, wenn dieses Problem auftritt:
Event ID: 2820NSPI max connection limit for the user has reached.You need to do NSPI unbind on old connections before making new connections.Additional DataMax NSPI connections per user: %1User: %2 

Die "User:"-Informationen haben den Sid des Benutzers. Sie können "psgetsid" beispielsweise verwenden, um den Anmeldenamen des Benutzers abzurufen.

Eine Netzwerkerfassung des Fehlers kann Pakete enthalten, die den folgenden ähneln.

Quelle Ziel Protokoll Informationen
ClientIP ServerIP Nspi NspiBind-Anforderung
ServerIP ClientIP Nspi NspiBind-Antwort, Status: MAPI_E_LOGON_FAILED

Informationsquellen


Weitere Informationen finden Sie in den folgenden Artikeln:
314980 Konfigurieren der Active Directory-Diagnoseereignisprotokollierung in Windows Server 2003 und Windows 2000 Server