Equipo que no tiene abierto el puerto 3389 - Escritorio Remoto

Hace poco que tuve que pelearme con un equipo con Windows XP al que no podíamos conectarnos por escritorio remoto.

Dicho equipo no estaba escuchando en el puerto 3389. Si ejecutábamos telnet nombre-equipo 3389, siempre obteníamos fallo.

Después de desplazarnos hasta el equipo, lo primero que comprobamos fue que en la lista de puertos, no aparece el puerto 3389
Hacemos netstat -an  y vemos que en la lista no hay 3389.

Justo después, se comprobó fue que el servicio "Servicios de Terminal Server" estuviese funcionando correctamente.

Para ello, ejecutamos  sc qc termservice  y obtenemos esto:


[SC] GetServiceConfig SUCCESS

SERVICE_NAME: termservice
        TYPE               : 20  WIN32_SHARE_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\WINDOWS\System32\svchost -k DComLaunch
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Servicios de Terminal Server
        DEPENDENCIES       : RPCSS
        SERVICE_START_NAME : LocalSystem

El servicio TERMSERVICE  está iniciado , sin embargo al reiniciar dicho servicio no aparecen fallos.

Tampoco aparece nada raro en el visor de sucesos

En nuestro dominio, tenemos una política de grupo que permite las conexiones mediante Terminal Server. En el firewall del equipo, se comprobó que
el puerto tcp-3389 aparece en las excepciones

En Propiedades del sistema ->  Acceso remoto,  la casilla habilitar Escritorio remoto está marcada.


Después de mucho comprobar y de un par de reinicios del equipo, encontré este KB de Microsoft:
How to change the listening port for Remote Desktop http://support.microsoft.com/kb/304304/

En este KB se indica que el puerto por defecto se encuentra en la siguiente rama de registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

Después de revisar dichas entradas, se me ocurrió compararlas con otro equipo en el que no hubiese problemas con el Escritorio remoto.

A simple vista, faltaban más de la mitad de las entradas.
Después de exportar las entradas e importarlas en el equipo con problemas y de reiniciar el servicio, todo vuelve a la normalidad.
Las entradas que importé al equipo con problemas son estas:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"CfgDll"="RDPCFGEX.DLL"
"fEnableWinStation"=dword:00000001
"MaxInstanceCount"=dword:ffffffff
"PdName"="tcp"
"PdClass"=dword:00000002
"PdDLL"="tdtcp"
"PdFlag"=dword:0000004e
"OutBufLength"=dword:00000212
"OutBufCount"=dword:00000006
"OutBufDelay"=dword:00000064
"InteractiveDelay"=dword:00000032
"PortNumber"=dword:00000d3d
"KeepAliveTimeout"=dword:00000000
"LanAdapter"=dword:00000000
"WdName"="Microsoft RDP 5.1"
"WdDLL"="rdpwd"
"WsxDLL"="rdpwsx"
"WdFlag"=dword:00000036
"InputBufferLength"=dword:00000800
"CdClass"=dword:00000000
"CdName"=""
"CdDLL"=""
"CdFlag"=dword:00000000
"Comment"=""
"fInheritAutoLogon"=dword:00000001
"fInheritResetBroken"=dword:00000001
"fInheritReconnectSame"=dword:00000001
"fInheritInitialProgram"=dword:00000001
"fInheritCallback"=dword:00000000
"fInheritCallbackNumber"=dword:00000001
"fInheritShadow"=dword:00000001
"fInheritMaxSessionTime"=dword:00000001
"fInheritMaxDisconnectionTime"=dword:00000001
"fInheritMaxIdleTime"=dword:00000001
"fInheritAutoClient"=dword:00000001
"fInheritSecurity"=dword:00000000
"fInheritColorDepth"=dword:00000000
"fPromptForPassword"=dword:00000000
"fResetBroken"=dword:00000000
"fReconnectSame"=dword:00000000
"fLogonDisabled"=dword:00000000
"fAutoClientDrives"=dword:00000001
"fAutoClientLpts"=dword:00000001
"fForceClientLptDef"=dword:00000001
"fDisableEncryption"=dword:00000001
"fHomeDirectoryMapRoot"=dword:00000000
"fUseDefaultGina"=dword:00000000
"fDisableCpm"=dword:00000000
"fDisableCdm"=dword:00000000
"fDisableCcm"=dword:00000000
"fDisableLPT"=dword:00000000
"fDisableClip"=dword:00000000
"fDisableExe"=dword:00000000
"fDisableCam"=dword:00000000
"Username"=""
"Domain"=""
"Password"=""
"WorkDirectory"=""
"InitialProgram"=""
"CallbackNumber"=""
"Callback"=dword:00000000
"Shadow"=dword:00000001
"MaxConnectionTime"=dword:00000000
"MaxDisconnectionTime"=dword:00000000
"MaxIdleTime"=dword:00000000
"KeyboardLayout"=dword:00000000
"MinEncryptionLevel"=dword:00000002
"NWLogonServer"=""
"WFProfilePath"=""
"WdPrefix"="RDP"
"TraceEnable"=dword:00000000
"TraceDebugger"=dword:00000000
"TraceClass"=dword:00000000
"ColorDepth"=dword:00000003


Comentarios

Entradas populares de este blog

Cómo saber el UUID de un equipo

Reducir el tamaño de install.wim a menos de 4 GB

Monitor HP No funciona ningún botón - OSD LOCKOUT