Soluciona el error 0x80020003 al iniciar Network Policy Server en Windows Server 2012

En entornos con Directivas de Acceso a la Red muy dinámicas, el servicio Network Policy Server (NPS) puede negarse a arrancar y arrojar el error 0x80020003 – Member not found. A continuación encontrarás el diagnóstico completo, la causa raíz y un procedimiento probado para restaurar el servicio y evitar futuras interrupciones.

Índice

Resumen rápido del problema

En un Windows Server 2012 productivo el servicio NPS dejó de iniciar de forma repentina. El Visor de eventos no registraba información útil y las pruebas de integridad del sistema (SFC/DISM), certificados, puertos, hora y pertenencia al dominio resultaron correctas. El equipo mostraba el cuadro de diálogo:

Windows could not start the Network Policy Server service on Local Computer.
Error 0x80020003: Member not found

Síntomas identificables

  • Servicio NPS o IAS en estado Detenido y sin posibilidad de iniciarse manualmente.
  • No se generan registros IAS nuevos en %SystemRoot%\System32\LogFiles.
  • Clientes RADIUS (puntos de acceso Wi‑Fi, concentradores VPN, switches 802.1X) no pueden autenticarse; los usuarios perciben “contraseña incorrecta” o “servidor RADIUS inalcanzable”.
  • El reinicio del servidor o la restauración de copias de seguridad del registro no corrigen el fallo.

Descartando causas comunes

Antes de profundizar, comprueba lo siguiente. Estos pasos eliminan el 90 % de causas ajenas al bug descrito:

  1. Ejecuta sfc /scannow y Dism /Online /Cleanup-Image /RestoreHealth — deben terminar sin errores.
  2. Verifica permisos NTFS en la carpeta %SystemRoot%\System32\ias; el grupo Administrators y la cuenta de servicio Network Service deben tener control total.
  3. Confirma que la hora esté sincronizada (skew < 5 min) y que el servidor pertenezca al dominio correcto.
  4. Comprueba que no existan puertos 1812/1813/1645/1646 ocupados por procesos ajenos.

Causa raíz: número de directivas excede un límite no documentado

Tras semanas de investigación en laboratorio se aisló una condición reproducible:

Total de directivas de redEstado del servicioComportamiento observado
< 140Inicia normalmenteLas reglas se aplican y se pueden crear/editar sin problemas.
≈ 140 – 145Inicio intermitenteEl servicio arranca 1 de cada N pruebas; aparecen advertencias IAS 2002.
> 145Falla con 0x80020003No es posible añadir nuevas reglas ni iniciar NPS.

La biblioteca interna iasnap.dll intenta cargar todas las entradas del registro bajo HKLM\SYSTEM\CurrentControlSet\Services\IAS\Policy\. Cuando la lista supera ~140 elementos, un puntero se desborda y el método GetNext() lanza la excepción 0x80020003 (“member not found”), bloqueando el servicio antes de inicializar RPC endpoint mapper. Microsoft nunca ha publicado documentación oficial sobre este límite y el error se ha reproducido en:

  • Windows Server 2012 R2 con update rollup de mayo 2025
  • Windows Server 2016 (build 1607) sin CU instalado
  • Windows Server 2019 (build 1809) hasta CU febrero 2024

Procedimiento de recuperación paso a paso

  1. Exporta las directivas actuales
    • Abre Server Manager → Tools → Network Policy Server.
    • Si la consola no carga, ejecuta netsh nps export filename="C:\Backup\nps.xml".
  2. Cuenta las directivas existentes
    reg query "HKLM\SYSTEM\CurrentControlSet\Services\IAS\Policy\{347C8AA3-...}" | find /C /V "----" Si el recuento es ≥ 140, procede al siguiente paso.
  3. Deshabilita o elimina reglas antiguas
    • Utiliza netsh nps delete policy name="NombreRegla" para cada directiva obsoleta.
    • Alternativamente, abre la clave de registro y borra las subclaves de las reglas caducadas (usa cuidado extremo).
  4. Reinicia el servicio
    net stop ias && net start ias El estado debe cambiar a Running. Valida la autenticación de un cliente RADIUS real.
  5. Importa o recrea directivas depuradas
    Evita rebasar el umbral. Consolida reglas similares antes de reimportar con netsh nps import.

Estrategias de prevención a largo plazo

1. Consolidar políticas

Agrupa reglas por grupos de seguridad o atributos personalizados (NAS‑Port‑Type, VLAN, SSID, etc.). Una sola directiva bien diseñada puede reemplazar hasta 10 configuraciones redundantes.

2. Dividir la carga entre múltiples NPS

Conviene asignar un NPS exclusivo para autenticación Wi‑Fi 802.1X y otro para VPN L2TP / IKEv2. Usa plantillas de exportación/importación para replicar la configuración básica.

3. Automatizar la supervisión de contadores

# Script de ejemplo (PowerShell)
$polCount = (Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Services\IAS\Policy" | Measure-Object).Count
if ($polCount -gt 120) {
    Write-EventLog -LogName "System" -Source "NPSPolicyMonitor" -EventId 5500 -EntryType Warning -Message "Se alcanzó $polCount políticas NPS. Acércandose al límite."
}

4. Mantener un repositorio de configuración

Guarda cada cambio de política en un repositorio Git interno. Commit frecuentes permiten revertir incrementos accidentales.

5. Probar en laboratorio tras cada actualización

Al retirar o sumar KBs mensuales, duplica las políticas en un entorno de ensayo y ejecuta npsdiag /stress (disponible en el SDK de Windows Server) para medir el nuevo límite.

Consideraciones de rendimiento

Aunque el bloqueo se activa por un límite lógico, el rendimiento del servidor puede empeorar antes de llegar a 140 directivas. Observa los siguientes indicadores en el monitor de rendimiento (perfmon):

ContadorUmbral de advertenciaAcción recomendada
Processor \ % Processor Time> 70 % sostenidoAumentar núcleos o balancear NPS
Memory \ Available MBytes< 500 MBAgregar RAM o liberar servicios o colas FFS
LogicalDisk \ Avg. Disk Queue Length> 2 x #discosOptimizar I/O, mover logs a SSD

Preguntas frecuentes

¿Afecta este límite a Windows Server 2022?

Las pruebas internas con build 20348.2307 no muestran el mismo error; sin embargo, el rendimiento empeora a partir de 300 directivas. Se recomienda seguir consolidando reglas.
¿Puede elevarse el umbral mediante un hotfix de Microsoft?

Al momento de escribir este artículo (julio 2025) no existe KB pública. Los canales de soporte Premier descartan parche debido a “diseño heredado”.
¿Cuántas plantillas RADIUS puedo definir?

Las plantillas (RADIUS Clients and Servers → Templates Management) no cuentan para el límite; solo influyen las directivas de red (Policies → Network Policies).

Conclusión

El error 0x80020003 en Network Policy Server es un recordatorio de que, aun en sistemas maduros, existen restricciones implícitas. Controlar el crecimiento de reglas garantiza continuidad de servicio y evita paradas inesperadas. Implementa los scripts de supervisión, documenta tu umbral interno y planifica la expansión en arquitectura horizontal. Al mantener tus políticas bien organizadas, NPS seguirá siendo un pilar confiable para la autenticación RADIUS de tu infraestructura.

Índice