La conexión NSPI a un controlador de dominio basado en Windows hace que las aplicaciones cliente MAPI fallen y devuelve un mensaje de error "MAPI_E_LOGON_FAILED"

Se aplica a: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 StandardWindows Server 2012 R2 Essentials

Importante Este artículo contiene información sobre cómo modificar el registro. Asegúrese de realizar una copia de seguridad del registro antes de modificarlo. Asegúrese de que sabe cómo restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar copias de seguridad, restaurar y modificar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Cómo realizar una copia de seguridad y restaurar el Registro en Windows

Síntomas


Una conexión de interfaz de proveedor de servicios de nombres (NSPI) desde un cliente MAPI a un controlador de dominio basado en Windows Server 2008 o versiones posteriores puede producir un error y devolver el siguiente mensaje de error desde el servidor:
MAPI_E_LOGON_FAILED
En algunos casos, puede aparecer un cuadro de diálogo de credenciales en la interfaz de usuario del cliente MAPI cuando se produce este problema. Los clientes afectados incluyen Microsoft Outlook, Quest Migration Manager para Exchange y BlackBerry Enterprise Server.

Causa


Este problema se produce porque Windows Server 2008 y versiones posteriores permiten un máximo predeterminado de solo 50 conexiones NSPI simultáneas por usuario. Se rechazan conexiones NSPI adicionales y se devuelve un mensaje de error MAPI_E_LOGON_FAILED.Nota Windows Server 2003 y versiones anteriores de los sistemas operativos Microsoft Windows no presentan este comportamiento. El cambio de comportamiento en Windows Server 2008 y versiones posteriores está pensado para proteger los controladores de dominio contra los clientes que abren demasiadas conexiones NSPI sin cerrar las conexiones. Demasiadas conexiones como estas pueden provocar el agotamiento de los recursos.

Resolución


Para resolver este problema, marque todas las conexiones NSPI que el proceso en el cliente crea para las fugas de conexión. Por ejemplo, una llamada a la función NspiBind debe tener una llamada correspondiente a la función NspiUnbind cuando ya no se requiere una conexión NSPI. Esta operación puede requerir que depure los scripts o aplicaciones personalizados que utilizan NSPI. Si este problema afecta a aplicaciones externas, póngase en contacto con los proveedores de software para obtener actualizaciones.Nota El proveedor MAPI NSPI de Outlook que se instala con Microsoft Outlook está diseñado para su uso solo con Microsoft Outlook. No se admiten scripts externos y aplicaciones que se basan en el proveedor MAPI NSPI de Outlook.

Cómo modificar el registro para permitir conexiones NSPI adicionales

AdvertenciaPueden producirse problemas graves si modifica el registro incorrectamente mediante el Editor del Registro o mediante otro método. Estos problemas pueden requerir que vuelva a instalar el sistema operativo. Microsoft no puede garantizar que estos problemas se puedan resolver. Modifique el registro bajo su propio riesgo.Si se requieren legítimamente más conexiones NSPI simultáneas por usuario, puede cambiar el límite predeterminado. Para ello, siga estos pasos:
  1. Haga clic en Inicio y en Ejecutar, escriba regedit y haga clic en Aceptar.
  2. Busque la siguiente subclave del Registro y haga clic en ella:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS
  3. Haga clic con el botón derecho en la tecla Parámetros.
  4. En el menú emergente, seleccione Nuevoy, a continuación, haga clic en Valor DWORD.
  5. Escriba NSPI sesiones máximas por usuarioy, a continuación, presione ENTRAR.
  6. Haga doble clic en NSPI max sessions per user, escriba el número máximo de conexiones NSPI que desea tener y, a continuación, haga clic en Aceptar. Nota Aunque el límite superior de esta configuración es 0xffffffff (o 4294967295), una configuración de servidor que tiene un valor mayor que el valor predeterminado consumirá memoria adicional (una nueva página por conexión) en el servidor. Si este valor se establece demasiado alto y se crean demasiadas conexiones para cada instancia de aplicación de usuario, el servidor se ejecutará sin memoria o dejará de responder por completo. El límite de conexión NSPI predeterminado inferior en Windows Server 2008 se basaba en la experiencia del cliente en la que los sistemas operativos anteriores se dejarían abrumar por productos de terceros en lo que es esencialmente un ataque de denegación de servicio. Debe usar un enfoque de sentido común para aumentar la configuración máxima de sesión más allá del valor predeterminado. Por ejemplo, comience por usar decimal 250 (hex 0x000000FA) y, a continuación, pruebe para ver la sobrecarga de memoria que se crea y si los errores se han detenido. Su solución a largo plazo debe ser ponerse en contacto con el proveedor de su producto NSPI para pedirle que cambie este comportamiento. Un cambio en el valor del Registro es solo una solución alternativa para proporcionar alivio de errores.
  7. Salga del Editor del Registro.
  8. Reinicie el equipo o reinicie los servicios de dominio de Active Directory.

Como alternativa, puede hacerlo ejecutando el siguiente comando en una ventana del símbolo del sistema con permiso de administrador:

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

 

Más información


Un evento similar al siguiente se registra en el registro de eventos de Servicios de directorio cuando se produce este problema:
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 

La información "Usuario:" tendrá el Sid del usuario. Puede usar "psgetsid", por ejemplo, para recuperar el nombre de inicio de sesión del usuario.

Una captura de red del error puede contener paquetes similares a los siguientes.

Origen Destino Protocolo Información
ClientIP ServerIP Nspi Solicitud NspiBind
ServerIP ClientIP Nspi Respuesta de NspiBind, Estado: MAPI_E_LOGON_FAILED

Referencias


Para obtener más información, consulte los siguientes artículos:
314980 Cómo configurar el registro de eventos de diagnóstico de Active Directory en Windows Server 2003 y en Windows 2000 Server