Búsqueda de sitios web

Solución: los servicios de escritorio remoto están actualmente ocupados


En algunos casos, los usuarios no pueden iniciar sesión en hosts de granja RDS que ejecutan Windows Server utilizando el cliente RDP integrado (mstsc.exe) con el siguiente error:

The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log on.

En este caso, el administrador del host de RDS puede ver muchas sesiones de usuario atascadas con el nombre (4) en lugar de los nombres de usuario y el estado Desconectado en la pestaña Usuarios del Administrador de tareas.

El problema ocurre en todas las versiones actuales de Windows Server: 2012 R2, 2016, 2019 y 2022.

El error puede aparecer por varias razones:

  • Un error en el funcionamiento de los Servicios de Escritorio Remoto;

  • Un error en el proceso csrss.exe;

  • Un problema con un perfil de usuario o servicio profsvc;

  • Quedarse sin RAM o espacio en el disco duro en el host RDS;

  • Configuración de directiva de grupo incorrecta.

Desafortunadamente, no existe una solución oficial de Microsoft que pueda solucionar el problema por completo. Todo lo que puede hacer es deshacerse de los síntomas.

La solución de problemas casi siempre implica restablecer una sesión de RD de usuario problemática o reiniciar el servidor RDS, pero en algunos casos, el problema persiste. Estudiemos las soluciones empezando por la más fácil

Comprobar el rendimiento del host RDS y los recursos disponibles

Como este error puede ocurrir debido a la falta de RAM o espacio libre en el disco, asegúrese de que el servidor tenga suficientes recursos. Verifique que haya suficiente RAM libre y espacio en el disco duro donde está instalado el sistema operativo (debe haber al menos 1 GB libre), limpie los perfiles de usuario de RDS de los archivos antiguos y elimine los perfiles de usuario antiguos (no utilizados). Además, verifique el registro de eventos en busca de errores críticos en relación con los Servicios de escritorio remoto y el Servicio de perfil de usuario (profsvc).

Si hay suficientes recursos libres, vaya a la siguiente opción.

Restablecer sesiones de escritorio remoto colgadas en RDS

En primer lugar, intente encontrar y restablecer una sesión del usuario que no puede iniciar sesión en el servidor RDS con el error "

Remote Desktop Service is currently busy

”. Busque un usuario en la pestaña Usuarios del Administrador de tareas y haga clic en Cerrar sesión en el menú contextual. En la mayoría de los casos, esto resolverá el problema, pero a veces puede encontrar varias sesiones bloqueadas en el Administrador de tareas con el nombre (4) en lugar de un nombre de usuario. Una sesión de usuario de RDS colgada normalmente tendrá 4 procesos en ejecución:

  • Proceso de tiempo de ejecución del servidor del cliente (csrss.exe)

  • Administrador de escritorio de Windows (dwm.exe)

  • Aplicación de inicio de sesión de Windows (winlogon.exe)

  • Interfaz de usuario de inicio de sesión de Windows

Intente restablecer cualquier (4) sesión de RDS pendiente mediante el Administrador de tareas como se describe anteriormente. Si esto no ayuda, deberá eliminar manualmente los procesos en ejecución en estas sesiones.

  1. Abra un símbolo del sistema elevado y ejecute el comando:

    query session

    El comando muestra a todos los usuarios y sus sesiones en el host RDS.

    (4)

    usuario y el ID correspondiente, en este ejemplo, es ID 2. Debes matar al

    csrss.exe

    proceso que se está ejecutando en esta sesión;

  2. Ejecute el comando:

    query process /id 2

    El comando muestra todos los procesos que se ejecutan en la sesión con el ID especificado. Necesitamos encontrar el PID del proceso csrss.exe. En mi caso, el PID es 5140. Necesitas matar este proceso.

  3. Elimine el proceso csrss.exe por su PID:

    taskkill /F /PID 5140

Cuando finaliza el proceso csrss.exe, todos los demás procesos en la sesión del usuario finalizan automáticamente. Esto le permite finalizar las sesiones de usuario de RDS colgadas sin tener que reiniciar el servidor.

Hágalo para cada (4) usuario si hay algunos de ellos.

Nuestra recomendación es restringir la duración máxima de las sesiones de usuario con la opción de tiempos de espera de RDS en la configuración de GPO o colección. Esto finalizará automáticamente las sesiones de usuario colgadas.

Además, si está trabajando en vínculos poco confiables, le recomendamos que establezca la opción de GPO Configurar intervalo de conexión de mantenimiento de conexión en 1 minuto (Configuración de la computadora -> Plantillas administrativas -> Componentes de Windows -> Servicios de escritorio remoto -> Host de sesión de escritorio remoto -> Conexiones).

Elimine una sesión de usuario de escritorio remoto con el símbolo del sistema

Si no ha podido cerrar la sesión de un usuario, puede intentar restablecer una sesión de usuario de RDS desde el símbolo del sistema:

  1. Abra el símbolo del sistema como administrador y ejecute el comando:

    query session
  2. Termina la sesión del usuario usando su NOMBRE DE SESIÓN o ID. Por ejemplo:

    reset session rdp-tcp#16

    o:

    reset session 3

Esto debe hacerse para cada usuario problemático de RDS. Ahora puede intentar iniciar sesión, el problema debería estar resuelto.

Si el servidor RDS no le permite iniciar sesión incluso con la cuenta de administrador local, puede obtener de forma remota una lista de sesiones de usuario en la computadora

qwinsta /server:mun-rds01

A continuación, puede finalizar la sesión colgada de forma remota:

reset session rdp-tcp#16 /server:mun-rds01

Verifique la configuración de licencias en su host RDS

Asegúrese de que el servidor de licencias y el tipo de licencia (CAL por usuario/CAL por dispositivo) configurados en su host RDSH sean correctos.

Recibí el error "La tarea que intenta realizar no se puede completar porque los Servicios de escritorio remoto están actualmente ocupados", luego olvidé especificar la dirección del servidor que ejecuta la función de licencias de escritorio remoto después de instalar la función RDSH. En ese caso, dos usuarios de RDP se conectaron como de costumbre y el tercero se enfrentó a este error.

Se puede especificar la dirección del servidor con licencias RDS:

  • En la configuración de la colección de RDS: Tareas -> Editar propiedades de implementación -> Licencias de RD -> Especificar un servidor de licencias;

  • Con la opción de directiva de grupo Usar los servidores de licencias de Escritorio remoto especificados (Configuración de la computadora -> Políticas -> Plantillas de administración -> Componentes de Windows -> Servicios de escritorio remoto -> Host de sesión de escritorio remoto -> Licencias)

  • Uso de PowerShell (consulte el artículo El modo de licencia para el host de sesión de escritorio remoto no está configurado).

Deshabilite el límite máximo de conexión RDP en GPO

Puede usar directivas de grupo para limitar el número de conexiones RDS simultáneas (simultáneas). De forma predeterminada, esta política no está configurada. Esto significa que la cantidad máxima de conexiones no está limitada por el host RDSH.

Use gpresult para verificar si la política está habilitada y qué valor tiene.

  1. Ejecute el siguiente comando en el símbolo del sistema elevado:

    gpresult /H c:\gpresult.html
  2. Abra el archivo gpresult.html ubicado en la raíz de la unidad C. Es un archivo .html común que se puede abrir con su navegador (Internet Explorer está deshabilitado de forma predeterminada en las versiones modernas de Windows y debe usar MS Edge);

  3. Busque la configuración de GPO denominada Limitar número de conexiones en Configuración del equipo -> Plantillas administrativas -> Componentes de Windows -> Servicios de escritorio remoto -> Host de sesión de escritorio remoto\Conexiones o escriba Limitar número de conexiones para buscar en la página.

Si no existe tal política, entonces no se aplica y no hay restricciones en la cantidad de conexiones simultáneas. Si hay una política y se indica el número de conexiones simultáneas, cambie su valor al número que necesita. Puede configurar la opción GPO mediante el Editor de directivas de grupo local (

gpedit.msc

), y si la política se establece a través de GPO de dominio, edítela con el editor de GPO de dominio (

gpmc.msc

). Después de haberlo hecho, no olvide ejecutar el

gpupdate /force

comando para aplicar la nueva configuración de directiva de grupo inmediatamente.

Otras formas de solucionar problemas de servicio RDP ocupado

Si hay suficientes recursos gratuitos en el host, no hay errores en los registros de RDP, el restablecimiento de la sesión del usuario no ha ayudado por algún motivo y no puede reiniciar el servidor RDSH de inmediato, entonces debe probar las siguientes opciones:

  • Asegúrese de que el host RDS no esté en modo de drenaje, lo que impide que los usuarios realicen nuevas conexiones RDP:

    chglogon.exe /QUERY

    . Si el comando devuelve "Los inicios de sesión de nuevos usuarios están DESHABILITADOS, pero las reconexiones a sesiones existentes están HABILITADAS", deshabilite el modo Drenar:

    chglogon.exe /enable

  • Desmarque la opción Almacenamiento en caché de mapa de bits persistente en la configuración de conexión RDP del

    mstsc.exe

    cliente. Intenta usar el modo módem de 56 kbps para optimizar el rendimiento;

  • Reinicie el Servicio de escritorio remoto usando los comandos:

    net stop termservice

    y

    net start termservice

    . O reinicie el servicio de forma remota usando PowerShell:

    Get-Service termservice -ComputerName mun-rdsh1 | Restart-Service
  • Elimine todos los procesos tstheme.exe;

  • Se recomienda instalar todas las actualizaciones más recientes para su versión de Windows. Use las herramientas estándar de Windows Update o el módulo PSWindowsUpdate PowerShell.

  • En Windows Server 2012 R2, el ID de evento 20499 puede aparecer en el Visor de eventos "Servicios de escritorio remoto ha tardado demasiado en cargar la configuración de usuario del servidor...". Para resolver este problema, agregue la entrada de registro fQueryUserConfigFromLocalMachine:

    REG ADD "HKLM\SYSTEM\CurrentControlSet\control\Terminal Server\Winstations\RDP-Tcp" /v fQueryUserConfigFromLocalMachine /t REG_DWORD /d 1 /f
    REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services" /v fQueryUserConfigFromLocalMachine /t REG_DWORD /d 1 /f
  • Si Citrix está instalado en su host de Windows y hay muchas sesiones desconectadas en el servidor VDA, puede solucionar un problema creando la entrada de registro SeTokenDoesNotTrackSessionObject:

    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel" /v SeTokenDoesNotTrackSessionObject /t REG_DWORD /d 1 /f
  • Compruebe el servicio de perfil de usuario (

    profsvc

    ) registros. Si utiliza perfiles de disco de perfil de usuario (UPD) o FSLogix en Windows Server, verifique que el servidor de archivos que contiene los archivos de perfil esté disponible y no experimente problemas de rendimiento. Además, al usar UPD en Windows Server 2019/2016, cree el parámetro de registro DeleteUserAppContainersOnLogoff, que solucionará los problemas con muchas reglas de firewall de Windows Defender que se generan para las aplicaciones de la Tienda Windows para UWP cada vez que un usuario inicia sesión.

    Esto se describe en el artículo Bajo rendimiento de RDS en Windows Server 2016/2019 con discos de perfil de usuario.

Artículos relacionados