Búsqueda de sitios web

Cómo quitar el host de sesión de escritorio remoto de la implementación de servicios de escritorio remoto


Para eliminar un host RSDH de una colección/granja de sesiones de Servicios de Escritorio remoto, puede usar la consola gráfica del Administrador del servidor o el cmdlet de PowerShell Remove-RDSessionHost.

Puede usar el siguiente comando de PowerShell si desea eliminar un host de sesión de escritorio remoto en línea de una colección de sesiones en una granja de RDS:

Remove-RDSessionHost -SessionHost @("rdsh2.a-d.site") -ConnectionBroker rdcb.a-d.site -verbose
VERBOSE: The specified RD Session Host server will be removed from the session collection.

Si el servidor RDSH que desea eliminar está fuera de línea (host inactivo/fallido cuando no puede iniciar Windows o el hardware del servidor está dañado), recibirá el siguiente error cuando intente eliminarlo de su implementación de RDS:

WARNING: Unable to cleanup the RD Session Host server rdsh1.

Si intenta eliminar un servidor de este tipo que ejecuta la función de Host de Servicios de Escritorio remoto de una implementación de RDS mediante el Administrador del servidor, verá este error:

Could not remove the configuration. Object reference not set to an instance of an object.

Además, no puede administrar su granja RDS a través del Administrador del servidor porque después de eliminar el host RDSH de la consola, verá la siguiente advertencia:

The following servers in this deployment are not part of the server pool:
rdsh2.a-d.site
The servers must be added to the server pool.

Para eliminar correctamente un host RDS fallido, no volverá a su granja, debe eliminar sus metadatos de la base de datos de RD Connection Broker (RDCB).

Para hacerlo, conéctese a la base de datos RDCB usando SQL Management Studio.

  • Si utiliza una base de datos local del agente de conexión a escritorio remoto basada en la base de datos interna de Windows (WID), utilice la siguiente cadena de conexión para conectarse a la instancia de SQL:

    \\.\pipe\MICROSOFT##WID\tsql\query
  • Si su base de datos RDCB se ejecuta en un servidor SQL o en un grupo de alta disponibilidad Always On de SQL Server (si está utilizando una función de agente de conexión a Escritorio remoto de alta disponibilidad), conéctese al agente de escucha de SQL Server adecuado (puede obtenerlo con el comando:

    Get-RDConnectionBrokerHighAvailability

    )

Ejecute SQL Management Studio y conéctese a la base de datos utilizando una cuenta con privilegios de administrador local en el servidor.

Se recomienda encarecidamente hacer una copia de seguridad de la base de datos SQL del Agente de conexión a Escritorio remoto antes de realizar cualquier cambio.

Expanda la base de datos RDCms y busque las siguientes tablas que contienen entradas sobre los hosts de la granja RDS:

  • rds.Server: una lista completa de servidores en la granja de servicios de escritorio remoto

  • rds.RoleRdsh: una lista de servidores con el rol de Host de sesión de escritorio remoto

  • rds.RoleRdcb — Agente de conexión

  • rds.RoleRdls — Servidores de licencias RDSr

  • rds.RoleRdvh: hosts de virtualización

  • rds.RoleRdwa: hosts de acceso web

En nuestro caso, solo se ejecuta el rol RDSH en el servidor, lo que significa que es suficiente eliminar sus entradas de las tablas rds.Server y rds.RoleRdsh.

Busque en la tabla el ID del servidor RDSH que desea eliminar de la implementación de RDS. En mi ejemplo, es ID 3.

Utilice la siguiente consulta T-SQL para eliminar los registros RDSH de ambas tablas de la base de datos del agente de conexión:

use RDCms;
delete from rds.RoleRdsh where ServerID = '3';
delete from rds.Server where Id = '3';

No necesita poner otros hosts RDSH en el modo de drenaje.

Cierre la base de datos y reinicie la consola del Administrador del servidor. Abra la consola RDS, actualice la configuración y asegúrese de que el servidor eliminado ya no aparezca en la lista de hosts RDS disponibles.

También puede asegurarse de que no haya ningún servidor eliminado en la granja de RDS con este comando:

Get-RDServer

Si desea migrar los roles de Agente de conexión a Escritorio remoto o Acceso web de Escritorio remoto a otro servidor, use esta guía.

Artículos relacionados