Solución de problemas generales de conexión a Escritorio remoto

Pruebe nuestro agente virtual: puede ayudarle a identificar y corregir rápidamente problemas comunes de conectividad de sesiones de Escritorio remoto.

Siga estos pasos cuando un cliente de Escritorio remoto no pueda conectarse a un escritorio remoto, pero no proporcione mensajes u otros síntomas que ayuden a identificar la causa.

Comprobación del estado del protocolo RDP

Comprobación del estado del protocolo RDP en un equipo local

Para comprobar y cambiar el estado del protocolo RDP en un equipo local, consulte Habilitación de Escritorio remoto.

Nota:

Si las opciones de escritorio remoto no están disponibles, consulte Comprobación de si un objeto directiva de grupo está bloqueando RDP.

Comprobación del estado del protocolo RDP en un equipo remoto

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Como medida de protección, haga una copia de seguridad del registro antes de modificarlo para poder restaurarlo si se produce algún problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Para comprobar y cambiar el estado del protocolo RDP en un equipo remoto, use una conexión de registro de red:

  1. En primer lugar, vaya al menú Inicio y, a continuación, seleccione Ejecutar. En el cuadro de texto que aparece, escriba regedt32.

  2. En la Editor del Registro, seleccione Archivo y, a continuación, seleccione Conectar registro de red.

  3. En el cuadro de diálogo Seleccionar equipo , escriba el nombre del equipo remoto, seleccione Comprobar nombres y, a continuación, seleccione Aceptar.

  4. Vaya a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server y a HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.

    Captura de pantalla de la Editor del Registro que muestra la entrada fDenyTSConnections.

    • Si el valor de la clave fDenyTSConnections es 0, RDP está habilitado.
    • Si el valor de la clave fDenyTSConnections es 1, RDP se deshabilita.
  5. Para habilitar RDP, cambie el valor de fDenyTSConnections de 1 a 0.

Comprobar si un objeto de directiva de grupo (GPO) está bloqueando RDP en un equipo local

Si no puede activar RDP en la interfaz de usuario o el valor de fDenyTSConnections se revierte a 1 después de cambiarlo, es posible que un GPO invalide la configuración de nivel de equipo.

Para comprobar la configuración de la directiva de grupo en un equipo local, abra una ventana del símbolo del sistema como administrador y escriba el siguiente comando:

gpresult /H c:\gpresult.html

Cuando finalice este comando, abra gpresult.html. En Configuración del equipo\Plantillas administrativas\Componentes de Windows\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\Connections, busque la directiva Permitir que los usuarios se conecten de forma remota mediante servicios de Escritorio remoto.

  • Si la configuración de esta directiva es Habilitado, directiva de grupo no está bloqueando las conexiones RDP.

  • Si la configuración de esta directiva es Deshabilitada, compruebe GPO ganador. Este es el GPO que bloquea las conexiones RDP.

    Captura de pantalla de un segmento de ejemplo de gpresult.html en el que rdp de bloque de GPO de nivel de dominio deshabilita RDP.

    Captura de pantalla de un segmento de ejemplo de gpresult.html en el que directiva de grupo local deshabilita RDP.

Comprobar si un GPO está bloqueando RDP en un equipo remoto

Para comprobar la configuración de directiva de grupo en un equipo remoto, el comando es casi el mismo que para un equipo local:

gpresult /S <computer name> /H c:\gpresult-<computer name>.html

El archivo que genera este comando (nombre> gpresult-equipo<.html) usa el mismo formato de información que la versión del equipo local (gpresult.html).

Modificación de un GPO de bloqueo

Puede modificar esta configuración en directiva de grupo Editor de objetos (GPE) y directiva de grupo Management Console (GPM). Para obtener más información sobre cómo usar directiva de grupo, consulte Administración avanzada de directiva de grupo.

Para modificar la directiva de bloqueo, use uno de los métodos siguientes:

  • En GPE, acceda al nivel adecuado de GPO (como local o dominio) y vaya a Configuración> del equipoPlantillas> administrativasComponentes> de Windows RemoteDesktop Services> Host > desesión de Escritorio remotoConnections>Al permitir que los usuarios se conecten de forma remota mediante servicios de Escritorio remoto.
    1. Establezca la directiva en Habilitado o No configurado.
    2. En los equipos afectados, abra una ventana del símbolo del sistema como administrador y ejecute el gpupdate /force comando.
  • En GPM, vaya a la unidad organizativa (OU) en la que se aplica la directiva de bloqueo a los equipos afectados y elimine la directiva de la unidad organizativa.

Comprobación del estado de los servicios RDP

Tanto en el equipo local (cliente) como en el equipo remoto (de destino), deben ejecutarse los siguientes servicios:

  • Servicios de Escritorio remoto (TermService)
  • Redireccionamiento de puerto usermode de Servicios de Escritorio remoto (UmRdpService)

Puede usar el complemento MMC Servicios para administrar los servicios de forma local o remota. También puede usar PowerShell para administrar los servicios de forma local o remota (si el equipo remoto está configurado para aceptar cmdlets remotos de PowerShell).

Captura de pantalla de los servicios de Escritorio remoto en el complemento MMC Servicios.

En cualquier equipo, si uno o ambos servicios no se están ejecutando, inícielos.

Nota:

Si inicia el servicio Servicios de Escritorio remoto, seleccione para reiniciar automáticamente el servicio UserMode Port Redirector de Servicios de Escritorio remoto.

Comprobación de que el agente de escucha RDP funciona

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Como medida de protección, haga una copia de seguridad del registro antes de modificarlo para poder restaurarlo si se produce algún problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Comprobación del estado del agente de escucha de RDP

Para este procedimiento, use una instancia de PowerShell que tenga permisos administrativos. Para un equipo local, también puede usar un símbolo del sistema que tenga permisos administrativos. Sin embargo, este procedimiento usa PowerShell porque los mismos cmdlets funcionan de forma local y remota.

  1. Para conectarse a un equipo remoto, ejecute el siguiente cmdlet:

    Enter-PSSession -ComputerName <computer name>
    
  2. Escriba qwinsta.

    Captura de pantalla del comando qwinsta que muestra los procesos que escuchan en los puertos del equipo.

  3. Si la lista incluye rdp-tcp con el estado , el agente de Listenescucha rdp funciona. Vaya a Comprobar el puerto del agente de escucha rdp. De lo contrario, continúe en el paso 4.

  4. Exporte la configuración del agente de escucha rdp desde un equipo en funcionamiento.

    1. Inicie sesión en un equipo que tenga la misma versión del sistema operativo que el equipo afectado y acceda al registro de ese equipo (por ejemplo, mediante Editor del Registro).

    2. Vaya a la siguiente entrada del Registro:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

    3. Exporte la entrada a un .reg archivo. Por ejemplo, en Editor del Registro, haga clic con el botón derecho en la entrada, seleccione Exportar y escriba un nombre de archivo para la configuración exportada.

    4. Copie el archivo exportado .reg en el equipo afectado.

  5. Para importar la configuración del agente de escucha RDP, abra una ventana de PowerShell que tenga permisos administrativos en el equipo afectado (o abra la ventana de PowerShell y conéctese al equipo afectado de forma remota).

    1. Para realizar una copia de seguridad de la entrada del Registro existente, escriba el siguiente cmdlet:

      cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'
      
    2. Para quitar la entrada del Registro existente, escriba los siguientes cmdlets:

      Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force
      
    3. Para importar la nueva entrada del Registro y reiniciar el servicio, escriba los siguientes cmdlets:

      cmd /c 'regedit /s c:\<filename>.reg'
      Restart-Service TermService -Force
      

      Reemplace <filename> por el nombre del archivo exportado .reg .

  6. Pruebe la configuración intentando de nuevo la conexión a Escritorio remoto. Si todavía no se puede conectar, reinicie el equipo afectado.

  7. Si todavía no se puede conectar, compruebe el estado del certificado autofirmado de RDP.

Comprobación del estado del certificado autofirmado de RDP

  1. Si todavía no puede conectarse, abra el complemento MMC Certificados. Cuando se le pida que seleccione el almacén de certificados que se va a administrar, seleccione Cuenta de equipo y, a continuación, seleccione el equipo afectado.
  2. En la carpeta Certificados de Escritorio remoto, elimine el certificado autofirmado de RDP.
  3. En el equipo afectado, reinicie el servicio Servicios de Escritorio remoto.
  4. Actualice el complemento Certificados.
  5. Si no se ha vuelto a crear el certificado autofirmado rdp, compruebe los permisos de la carpeta MachineKeys.

Comprobación de los permisos de la carpeta MachineKeys

  1. En el equipo afectado, abra el Explorador y, a continuación, vaya a C:\ProgramData\Microsoft\Crypto\RSA\.
  2. Haga clic con el botón derecho en MachineKeys y seleccione Propiedades>Seguridad>avanzada.
  3. Asegúrese de que están configurados los permisos siguientes:
    • Builtin\Administrators: control total
    • Todos: Lectura y escritura

Comprobación del puerto de agente de escucha rdp

Tanto en el equipo local (cliente) como en el remoto (destino), el agente de escucha RDP debe estar escuchando en el puerto 3389. Ninguna otra aplicación debe usar este puerto.

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Como medida de protección, haga una copia de seguridad del registro antes de modificarlo para poder restaurarlo si se produce algún problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Para comprobar o cambiar el puerto RDP, use el registro Editor:

  1. Vaya al menú Inicio, seleccione Ejecutar y escriba regedt32 en el cuadro de texto que aparece.

    • Para conectarse a un equipo remoto, seleccione Archivo y, a continuación, seleccione Conectar registro de red.
    • En el cuadro de diálogo Seleccionar equipo , escriba el nombre del equipo remoto, seleccione Comprobar nombres y, a continuación, seleccione Aceptar.
  2. Abra el Registro y vaya a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<listener>.

    Captura de pantalla de la subclave PortNumber del protocolo RDP.

  3. Si PortNumber tiene un valor distinto de 3389, cámbielo a 3389.

    Importante

    Puede operar servicios de Escritorio remoto mediante otro puerto. Sin embargo, no se recomienda hacerlo. En este artículo no se explica cómo solucionar ese tipo de configuración.

  4. Después de cambiar el número de puerto, reinicie el servicio Servicios de Escritorio remoto.

Compruebe que otra aplicación no está intentando usar el mismo puerto.

Para este procedimiento, use una instancia de PowerShell que tenga permisos administrativos. Para un equipo local, también puede usar un símbolo del sistema que tenga permisos administrativos. Sin embargo, este procedimiento usa PowerShell porque los mismos cmdlets funcionan de forma local y remota.

  1. Abra una ventana de PowerShell. Para conectarse a un equipo remoto, escriba Enter-PSSession -ComputerName <computer name>.

  2. Escriba el siguiente comando:

    cmd /c 'netstat -ano | find "3389"'
    

    Captura de pantalla del comando netstat que genera una lista de puertos y los servicios que los escuchan.

  3. Busque una entrada para el puerto TCP 3389 (o el puerto RDP asignado) con un estado de Escucha.

    Nota:

    El identificador de proceso (PID) del proceso o servicio que usa ese puerto aparece en la columna PID.

  4. Para determinar qué aplicación usa el puerto 3389 (o el puerto RDP asignado), escriba el siguiente comando:

    cmd /c 'tasklist /svc | find "<pid listening on 3389>"'
    

    Captura de pantalla del comando tasklist que informa de los detalles de un proceso específico.

  5. Busque una entrada para el número pid que está asociado al puerto (desde la netstat salida). Los servicios o procesos asociados a ese PID aparecen en la columna derecha.

  6. Si una aplicación o servicio distinto de Servicios de Escritorio remoto (TermServ.exe) usa el puerto, puede resolver el conflicto mediante uno de los métodos siguientes:

    • Configure la otra aplicación o servicio para que use un puerto diferente (recomendado).
    • Desinstale la otra aplicación o servicio.
    • Configure RDP para usar un puerto diferente y, a continuación, reinicie el servicio Servicios de Escritorio remoto (no recomendado).

Comprobación de si un firewall está bloqueando el puerto RDP

Use la psping herramienta para probar si puede llegar al equipo afectado mediante el puerto 3389.

  1. Vaya a otro equipo que no se vea afectado y descargue psping.

  2. Abra una ventana del símbolo del sistema como administrador, cambie al directorio en el que instaló pspingy escriba el siguiente comando:

    psping -accepteula <computer IP>:3389
    
  3. Compruebe la salida del psping comando para obtener resultados como los siguientes:

    • Connecting to \<computer IP\>: se puede acceder al equipo remoto.
    • (0% loss): todos los intentos de conexión se realizaron correctamente.
    • The remote computer refused the network connection: no se puede acceder al equipo remoto.
    • (100% loss): se produjo un error en todos los intentos de conexión.
  4. Ejecute psping en varios equipos para probar su capacidad de conectarse al equipo afectado.

  5. Tenga en cuenta si el equipo afectado bloquea las conexiones de todos los demás equipos, algunos otros equipos o solo otro equipo.

  6. Pasos siguientes recomendados:

    • Engage los administradores de red para comprobar que la red permite el tráfico RDP al equipo afectado.
    • Investigue las configuraciones de los firewalls entre los equipos de origen y el equipo afectado (incluido Firewall de Windows en el equipo afectado) para determinar si un firewall está bloqueando el puerto RDP.