Połączenie NSPI z kontrolerem domeny z systemem Windows powoduje niepowodzenie aplikacji klienckich MAPI i zwraca komunikat o błędzie "MAPI_E_LOGON_FAILED"

Ważne Ten artykuł zawiera informacje dotyczące sposobu modyfikowania rejestru. Upewnij się, że kopię zapasową rejestru przed przystąpieniem do modyfikacji. Upewnij się, że wiesz, jak przywrócić rejestr, jeśli wystąpi problem. Aby uzyskać więcej informacji dotyczących sposobu kopii zapasowej, przywracania i modyfikowania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows

Symptomy

Połączenie interfejsu dostawcy usługi nazw (NSPI) z klienta MAPI do 2008 systemu Windows Server lub nowszy kontroler domeny oparty na wersji może zakończyć się niepowodzeniem i zwraca następujący komunikat o błędzie z serwera:

MAPI_E_LOGON_FAILED

W niektórych przypadkach okno dialogowe poświadczeń może pojawić się w interfejsie użytkownika klienta MAPI, gdy wystąpi ten problem. Dotyczy klientów obejmują programu Microsoft Outlook, Quest Migration Manager dla programu Exchange i BlackBerry Enterprise Server.

Przyczyna

Ten problem występuje, ponieważ system Windows Server 2008 i nowsze wersje Zezwalaj na domyślne maksimum tylko 50 równoczesnych połączeń NSPI na użytkownika. Dodatkowe połączenia NSPI są odrzucane i zwracany jest komunikat o błędzie MAPI_E_LOGON_FAILED. Uwaga Windows Server 2003 i wcześniejszych wersji systemów operacyjnych Microsoft Windows nie wykazują tego zachowania. Zmiana zachowania w systemie Windows Server 2008 i nowsze wersje jest przeznaczona do ochrony kontrolerów domeny przed klientami, które otwierają zbyt wiele połączeń NSPI bez zamykania połączeń. Zbyt wiele połączeń, takich jak te może spowodować wyczerpanie zasobów.

Rozwiązanie

Aby rozwiązać ten problem, sprawdź wszystkie połączenia NSPI, które proces na kliencie utworzyć dla przecieków połączenia. Na przykład wywołanie funkcji NspiBind musi mieć odpowiednie wywołanie funkcji Nspiunbind , gdy połączenie NSPI nie jest już wymagane. Ta operacja może wymagać debugowania skrypty niestandardowe lub aplikacje, które używają NSPI. Jeśli ten problem dotyczy aplikacji zewnętrznych, skontaktuj się z dostawcami oprogramowania w celu uzyskania aktualizacji. Uwaga Dostawca programu Outlook NSPI MAPI, który jest instalowany z programem Microsoft Outlook jest przeznaczony do użytku tylko z programem Microsoft Outlook. Zewnętrzne skrypty i aplikacje, które opierają się na dostawcy MAPI NSPI programu Outlook nie są obsługiwane.

Jak zmodyfikować rejestr, aby umożliwić dodatkowe połączenia NSPI

Ostrzeżeniepoważne problemy mogą wystąpić, jeśli niepoprawnie zmodyfikować rejestr przy użyciu Edytora rejestru lub przy użyciu innej metody. Te problemy mogą wymagać ponownej instalacji systemu operacyjnego. Firma Microsoft nie może zagwarantować, że te problemy zostaną rozwiązane. Modyfikowanie rejestru na własne ryzyko. Jeśli więcej równoczesnych połączeń NSPI na użytkownika są wymagane zgodnie z prawem, można zmienić domyślny limit. Aby to zrobić, wykonaj następujące kroki:

  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz polecenie regedit, a następnie kliknij przycisk OK.

  2. Zlokalizuj, a następnie kliknij następujący podklucz rejestru:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS

  3. Kliknij prawym przyciskiem myszy klucz parametrów .

  4. W menu podręcznym wybierz Nowy, a następnie kliknij przycisk wartość DWORD.

  5. Wpisz NSPI Max sesje na użytkownika, a następnie naciśnij Enter.

  6. Kliknij dwukrotnie NSPI Max sesje na użytkownika, wpisz maksymalną liczbę połączeń NSPI, które chcesz mieć, a następnie kliknij przycisk OK. Uwaga Mimo że górna granica tego ustawienia jest 0xFFFFFFFF (lub 4294967295), konfiguracja serwera, który ma wartość, która jest większa niż wartość domyślna zużywa dodatkowej pamięci (jedna nowa strona na połączenie) na serwerze. Jeśli ta wartość jest ustawiona zbyt wysoka i zbyt wiele połączeń są tworzone dla każdego wystąpienia aplikacji użytkownika, serwer będzie działał na niskim poziomie pamięci lub stać się całkowicie nie odpowiada. Niższy domyślny limit połączeń NSPI w systemie Windows Server 2008 został oparty na doświadczeniu klienta, w którym poprzednie systemy operacyjne pozwoliłyby się przytłoczeni przez produkty innych firm w tym, co jest zasadniczo atak typu "odmowa usługi". Należy użyć podejścia wspólnego rozsądku, aby zwiększyć ustawienie maksymalnej sesji poza wartością domyślną. Na przykład uruchomić przy użyciu Decimal 250 (hex 0x000000FA), a następnie przetestować, aby zobaczyć obciążenie pamięci, który jest tworzony i czy błędy zostały zatrzymane. Długoterminowe rozwiązanie musi być skontaktowanie się z dostawcą produktu NSPI, aby poprosić o zmianę tego zachowania. Zmiana wartości rejestru jest tylko jako obejście do zapewnienia zwolnienia z błędów.

  7. Zamknij Edytor rejestru.

  8. Uruchom ponownie komputer lub ponownie uruchom usługi domenowe w usłudze Active Directory.

Alternatywnie, można to zrobić przez runing następujące polecenie w oknie wiersza polecenia z uprawnieniami administratora:

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

 

Więcej informacji

Zdarzenie podobne do następującego jest rejestrowane w dzienniku zdarzeń usług katalogowych, gdy występuje ten problem: Event ID: 2820 NSPI max connection limit for the user has reached. You need to do NSPI unbind on old connections before making new connections. Additional Data Max NSPI connections per user: %1 User: %2

Informacje "User:" będą miały identyfikator SID użytkownika. Można użyć "PsGetSid" na przykład, aby pobrać nazwę logowania użytkownika.

Przechwytywanie sieci awarii może zawierać pakiety podobne do następujących.

Źródła

Docelowy

Protokół

Informacji

ClientIP

Właściwość ServerIP

Nspi

Żądanie NspiBind

Właściwość ServerIP

ClientIP

Nspi

Odpowiedź NspiBind, stan: MAPI_E_LOGON_FAILED

Informacje

Aby uzyskać więcej informacji, zobacz następujące artykuły:

jak skonfigurować rejestrowanie zdarzeń diagnostycznych usługi Active Directory w systemie windows Server 2003 i Windows 2000 Server

Informacje o PsGetSid

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×