ISMServ.exe no se inicia cuando se inicia un controlador de dominio

En este artículo se proporciona una solución alternativa para un problema en el que el servicio IsmServ no se inicia correctamente cuando se inicia un controlador de dominio.

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 4530043

Síntomas

Al iniciar un controlador de dominio (DC) de Windows Server, no se inicia correctamente. Al comprobar el inicio de sesión del sistema Visor de eventos, encontrará la siguiente entrada para el identificador de evento 7023:

Nombre de registro: Sistema
Origen: Administrador de control de servicios
Identificador de evento: 7023
Nivel: Error
Descripción:
El servicio IsmServ finalizó con el siguiente error:
El servidor especificado no puede realizar la operación solicitada.
Xml de evento:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
...​
<EventData>​
<Nombre de datos="param1">IsmServ</Data>
<Nombre de datos="param2">%%58</Data>
</EventData>
</Evento>

Este evento incluye los siguientes parámetros de datos:

  • El valor del parámetro param1 , IsmServ: representa el servicio de mensajería entre sitios (ISMserv.exe).
  • Valor del parámetro param2 , 58: se asigna al mensaje ERROR_BAD_NET_RESP ("El servidor especificado no puede realizar la operación solicitada").

Para recopilar más información sobre este problema, puede configurar el seguimiento de eventos LDAP para Windows (ETW) para que se ejecute al iniciar el sistema. (Para obtener más información sobre cómo hacerlo, consulte Más información). Después de reiniciar el controlador de dominio, debería ver las siguientes líneas en el registro:

[Microsoft-Windows-LDAP-Client/Debug] Message=LDAP connection 0xec4b08a8 resuelto correctamente "localhost" mediante GetHostByName.
...
[Microsoft-Windows-LDAP-Client/Debug] Message=gethostbyname recopiló 2 registros para 'dc1.contoso.com'[Microsoft-Windows-LDAP-Client/Debug] Message=LdapParallelConnect llamado para la conexión 0xec4b08a8 con tiempo de espera 45 s 0 usec. El recuento total es 2.
[Microsoft-Windows-LDAP-Client/Debug] Message=No hay respuesta todavía...
[Microsoft-Windows-LDAP-Client/Debug] Message=LdapParallelConnect finalizó para la conexión 0xec4b08a8. El tiempo necesario fue de 1 s. El tiempo de espera original especificado era de 45 s 0 usec.
...
[Microsoft-Windows-LDAP-Client/Debug] Message=LdapConnect no pudo abrir la conexión 0xec4b08a8, error = 0x5b.
[Microsoft-Windows-LDAP-Client/Debug] Message=LdapConnect thread 0xce0 tiene 0xec4b08a8 de conexión como inactivo.

En este caso, el valor del parámetro de error (0x5b o 91) se asigna al mensaje de LDAP_CONNECT_ERROR.

Causa

ISMServ depende de Servicios de dominio de Active Directory (AD DS). Sin embargo, durante el inicio del sistema, ISMServ puede intentar crear una conexión LDAP a AD DS antes de que AD DS termine de conectarse. Cuando esto sucede, el puerto LDAP (puerto TCP 389) no está disponible cuando ISMServ intenta conectarse. Dado que el puerto no está escuchando, ISMServ determina que se ha producido un error en la conexión sin esperar al período de tiempo de espera de conexión (45 segundos). Por lo tanto, ISMServ no se inicia.

Solución alternativa

Para solucionar este problema inmediatamente, reinicie manualmente ISMServ.

Para evitar este problema en el futuro, use el complemento MMC Servicios y aplicaciones para cambiar el tipo de inicio de ISMServ de Automático a Automático (Inicio retrasado).

Más información

Para configurar LDAP ETW, siga estos pasos:

  1. Use registry Editor para crear la siguiente subclave del Registro:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ldap\Tracing\ISMSERV.EXE

  2. Abra una ventana del símbolo del sistema con privilegios elevados y ejecute los siguientes comandos:

    logman create trace "autosession\g_os" -ow -o c:\boot-ldap.etl -p "Microsoft-Windows-LDAP-Client" 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode Circular -f bincirc -max 4096 -ets
    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\g_os /v FileMax /t REG_DWORD /d 2 /F
    
  3. Reinicie el equipo.

  4. Una vez iniciado el equipo, ejecute el siguiente comando en un símbolo del sistema con privilegios elevados:

    logman stop "g_os" -ets
    
  5. Cuando termine de recopilar datos, ejecute el siguiente comando en un símbolo del sistema con privilegios elevados para detener el seguimiento:

    logman delete "autosession\g_os" -ets
    

Estado

Microsoft ha confirmado que se trata de un problema en los productos de Microsoft que aparecen al principio de este artículo.

Referencias

Cómo activar el registro de depuración del cliente LDAP (Wldap32.dll)