Problema

Muchos administradores que usan macOS como estación de trabajo intentan conectar a equipos Windows 11 Pro o Server mediante la aplicación oficial Microsoft Remote Desktop (RDP). Cuando la cuenta de Windows es un Microsoft Account (hotmail.com, outlook.com, etc.) y Windows Hello está activo, la conexión suele fallar de dos maneras: el cliente muestra “The credentials used to connect did not work” o se queda atascado en “Configuring remote PC…”. El problema no depende del hardware ni de la red local; ocurre de forma reproducible en distintas máquinas y versiones del cliente. El síntoma es una autenticación que nunca llega a completarse, aunque las credenciales sean correctas y funcionen con otros clientes RDP (por ejemplo, Remmina en Linux).

Causa

El proceso de autenticación de RDP combina CredSSP y Network Level Authentication (NLA). Cuando el cliente empaqueta credenciales de un Microsoft Account, el servidor espera un flujo que incluya datos de token vinculados a la cuenta de Microsoft. La aplicación macOS, por razones no documentadas, envía el paquete de forma que el subsistema de credenciales de Windows lo rechaza o lo bloquea en la fase de negociación.

Factores que aumentan la probabilidad del fallo:

  1. Windows Hello activo – el PIN o biometría sustituyen la contraseña local, pero el token de Microsoft Account sigue siendo necesario para NLA.
  2. Sesión de Microsoft Account desconectada – si el usuario ha cerrado sesión completamente, el kernel no puede “reenganchar” la sesión y el cliente no tiene un fallback.
  3. Política de NLA estricta – desactivar NLA suele “arreglar” el problema, pero reduce la seguridad de la capa de transporte.
  4. Cliente RDP basado en WebView – la versión macOS usa una capa de UI que maneja de forma distinta los flujos de autenticación frente a librerías como FreeRDP usadas en Linux.

En la práctica, el punto crítico es que el cliente macOS no logra presentar un token de Microsoft Account válido bajo NLA, mientras que el servidor sí puede reconectar a una sesión ya existente si la conexión se establece con credenciales locales.

Solución

El método consiste en separar la fase de establecimiento del túnel RDP de la fase de reconexión a la sesión de Microsoft Account. Se crea una cuenta local de ayuda que solo sirve para abrir el canal RDP; una vez dentro, se usa la funcionalidad de “reconnect to existing session” de Windows para volver a la sesión del Microsoft Account sin cerrar aplicaciones ni perder estado.

Pasos generales

  1. Crear una cuenta local dedicada con privilegios de Administrador y pertenencia al grupo Remote Desktop Users.
  2. Mantener la sesión del Microsoft Account en estado “Disconnected” (no cerrar sesión, solo bloquear o dejar la pantalla).
  3. Configurar un archivo .rdp que apunte al equipo y use la cuenta local como usuario.
  4. Conectar desde macOS, iniciar la sesión local y, dentro del escritorio remoto, cambiar a la sesión del Microsoft Account mediante el Administrador de tareas.

Este flujo preserva Windows Hello (porque sigue activo en la cuenta principal) y mantiene NLA habilitado, ya que la autenticación inicial se realiza con credenciales locales estándar.

Cuándo aplicar esta solución

  • Síntomas: errores de credenciales en Microsoft Remote Desktop para macOS, o bloqueo en “Configuring remote PC…”, mientras que otros clientes RDP funcionan.
  • Entorno: Windows 11 Pro/Enterprise/Education o Windows Server con Remote Desktop habilitado; macOS 10.15+ con la app oficial de Microsoft.
  • Requisitos: la cuenta principal debe ser un Microsoft Account con Windows Hello activo y debe haber una sesión desconectada en el host.
  • No aplicar: equipos con Windows Home (no soportan host RDP), o cuando la política de la organización prohíbe cuentas locales adicionales. En esos casos, la única alternativa viable es desactivar NLA o usar un cliente RDP diferente.

Código

# Ejecutar en PowerShell o CMD con privilegios de administrador
net user rdp_helper StrongPass!2024 /add
net localgroup administrators rdp_helper /add
net localgroup "Remote Desktop Users" rdp_helper /add

Verificación

  1. Comprobar conectividad: ping <IP_Windows> desde macOS para descartar problemas de red.
  2. Abrir la app Microsoft Remote Desktop, importar el archivo .rdp creado y conectar usando rdp_helper.
  3. En la sesión remota, abrir el Administrador de tareas (Ctrl+Shift+Esc), ir a la pestaña Users, localizar la cuenta Microsoft marcada como Disconnected y pulsar Connect.
  4. Confirmar que el escritorio cambia a la sesión del Microsoft Account y que todas las aplicaciones siguen abiertas.
  5. Cerrar la sesión local (logoff) para volver a la pantalla de inicio de sesión del helper; la sesión principal permanece intacta.

Si la reconexión falla, revisar que la sesión del Microsoft Account no esté cerrada y que el usuario local tenga permisos de Remote Desktop.

Notas adicionales

  • Contraseña del helper: elige una clave robusta y almacénala en un gestor de contraseñas; la cuenta solo sirve como “puerta de enlace”.
  • Política de auditoría: algunos entornos registran cada inicio de sesión local; documenta el uso del helper para evitar alertas inesperadas.
  • Actualizaciones: tras una actualización mayor de la app macOS o de Windows, verifica que el flujo siga funcionando; en caso de ruptura, la solución temporal sigue siendo válida mientras Microsoft publica un parche.
  • Alternativas: usar clientes de código abierto basados en FreeRDP (por ejemplo, Remmina a través de XQuartz) o establecer un túnel SSH que reenvíe el puerto 3389 y conectarse con un cliente que no dependa de la capa WebView. Estas opciones evitan el problema pero pueden requerir configuraciones adicionales.