Configuración de la granja de servicios de escritorio remoto (RDS) en Windows Server

Esta guía muestra cómo instalar, configurar y mantener una granja de servidores de terminal basada en Servicios de escritorio remoto (RDS) función en Windows Server. El artículo lo ayudará a implementar Servicios de escritorio remoto en Windows Server 2022, 2019 o 2016 en un dominio de Active Directory.

Arquitectura de componentes de servicios de escritorio remoto (RDS)

El rol de RDS en Windows Server incluye los siguientes componentes:

  • Host de sesión de escritorio remoto (RDSH): hosts de sesión RDS. Estos son los principales caballos de batalla de una granja de RDS en los que se ejecutan las aplicaciones de los usuarios;
  • Agente de conexión de escritorio remoto (RDCB): un intermediario de conexión RDS. Se utiliza para administrar una granja de RDS, distribuir la carga de trabajo, volver a conectar a los usuarios a sus sesiones, almacenar configuraciones de recopilación de RDS y RemoteApps publicadas;
  • Puerta de enlace de escritorio remoto (RDGW): proporciona acceso seguro a la granja RDS desde Internet;
  • Acceso web de RD (RDWA): una interfaz web para acceder a escritorios remotos y RemoteApps;
  • Licencias de escritorio remoto (Licencias RD): un servicio de licencias para administrar licencias RDS (CAL).

En nuestra pequeña implementación de RDS, solo hay tres hosts de Windows Server con las siguientes funciones:

  • mun-rds1.woshub.com — RDSH
  • mun-rds2.woshub.com – RDSH
  • mun-rdsman.woshub.com – Licencias RDSH, RDWA, RDCB y RD

Requisitos previos para crear una granja RDS:

  1. Instale la misma versión de Windows Server en todos los hosts RDS, configúrelos y únase al dominio AD;
  2. Abra la consola ADUC (dsa.msc) y mueva todos los hosts con la función RDSH a la misma unidad organizativa (OU) de Active Directory. Por lo tanto, será más fácil aplicar la configuración de RDS usando GPO;
  3. Cree un grupo de seguridad de dominio de Active Directory para servidores RDSH (por ejemplo, Mun-rdsh) y agréguele todos los hosts;
  4. Si desea utilizar discos de perfil de usuario (UPD) para almacenar perfiles de usuario de RDS (o perfiles móviles), debe crear una carpeta de red compartida en un servidor de archivos (se recomienda colocar la carpeta compartida en un clúster de conmutación por error de servidor de archivos que ejecuta Windows servidor). Otorgar Control total permisos en la carpeta compartida para el Mun-rdsh grupo.

Creación de una nueva implementación de RDS en Windows Server

Veamos cómo crear y configurar una configuración de RDS mediante la GUI del Administrador del servidor.

Abre el Administrador del servidor y agregue todos los servidores RDS que desee a la consola. Haga clic en Todos los servidores -> Agregar servidores.

Agregar host de Windows Server a la implementación de RDS

Haga clic en el menú Administrador del servidor y seleccione Agregar funciones y funciones -> Instalación de servicios de escritorio remoto -> Implementación estándar –> Implementación basada en sesiones. Implementación estándar de Escritorio remoto

Inicio rápido El modo se utiliza para implementar todas las funciones de RDS en un único servidor. Una granja de RDS solo puede tener un servidor que ejecute todas las funciones de RDS (host de sesión de Escritorio remoto, acceso web de Escritorio remoto y agente de conexión de Escritorio remoto). Sin embargo, esta configuración no proporciona tolerancia a fallas ni equilibrio de carga de trabajo en Servicios de escritorio remoto de Windows Server.

Luego, especifique qué funciones de RDS desea asignar a sus hosts. Seleccione los servidores para los roles correspondientes en el asistente de creación de granjas de RDS. En mi caso, quiero construir la siguiente configuración de RDS:

  • Agente de conexión a Escritorio remoto mun-rdsman
  • Acceso web de RDmun-rdsman
  • Anfitriones de sesión de escritorio remotomun-rdsman, mun-rds1, mun-rds2

Seleccione el servidor del agente de conexión a Escritorio remoto

Puede distribuir funciones de RDS entre servidores en cualquier otra configuración.

Controlar Reinicie el servidor de destino automáticamente si es necesario y haga clic Desplegar. Espere hasta que los roles de RDS estén instalados en todos los servidores. Implementar roles de servicio de escritorio remoto en hosts de Windows Server

Entonces, se crea su granja RDS.

El siguiente paso es instalar y configurar el servidor de licencias RDS. Puedes instalar el Licencias RD en uno de los servidores de su granja o use un servidor de licencias RDS existente en su dominio. Consulte la guía detallada sobre cómo instalar, configurar y activar el rol de licencias de RD.

Para administrar su implementación de RDS, abra el Administrador del servidor -> Servicios de escritorio remoto. La configuración actual de la granja de RDS se muestra en la pestaña Descripción general.

Para cambiar la configuración de la granja RDS, seleccione Tareas -> Editar propiedades de implementación en la sección Descripción general de la implementación.

Edite las propiedades de implementación de RDS a través del Administrador del servidor en Windows Server 2019

Aquí puedes cambiar:

  • Configuración de la puerta de enlace de escritorio remoto;
  • Dirección del servidor de licencias y tipo de CAL de RDS (por usuario/por dispositivo);
  • Ver URL de acceso web de escritorio remoto;
  • Agregue certificados SSL para RDS (omitiremos este paso en la guía).

Configurar los ajustes de licencias de RD

Para crear una granja de servicios de escritorio remoto tolerante a fallas, debe proporcionar alta disponibilidad para el rol de agente de conexión a Escritorio remoto. Esto se logra mediante la ejecución de varias instancias de RDCB (Activo/Activo) en diferentes servidores con una base de datos de SQL Server compartida que almacena la configuración del agente de conexión. Puede usar el grupo de alta disponibilidad de SQL Server Always On para hacer que la base de datos SQL de RDCB esté disponible. Anteriormente publicamos una guía detallada sobre cómo configurar un agente de conexión RDS de alta disponibilidad.

Crear colecciones de servicios de escritorio remoto en Windows Server

El siguiente paso es crear colecciones de sesiones RDS. Las colecciones de Escritorio remoto permiten dividir hosts en una granja RDS en grupos separados o crear diferentes conjuntos de configuraciones y aplicaciones remotas disponibles para diferentes grupos de usuarios.

Ir Colecciones y seleccione Editar -> Crear colección de sesiones.

Crear una colección de sesiones de RDS

Aquí necesitas:

  1. Especifique un nombre de colección RDS: rds-Mun-Managers;
  2. Seleccione qué hosts RDS servirán a los usuarios de la colección (un servidor RDSH puede pertenecer a una colección, no se recomienda tener hosts con diferentes versiones de Windows Server en la misma colección); Agregar hosts de sesión de escritorio remoto a la colección
  3. En el Grupos de Usuarios pestaña, especifique los grupos de usuarios que pueden conectarse a la colección. Quitar el Usuarios de dominio de los grupos y agrega tu grupo (mun-Managers);
  4. Sobre el Disco de perfil de usuario ficha, comprobar Habilitar discos de perfil de usuario si desea utilizar el formato de archivo UPD vhdx para almacenar perfiles de usuario. En el Ubicación de los discos de perfil de usuario campo, especifique la ruta UNC a su carpeta compartida (por ejemplo, \mun-fs01munrds_upd ), en el que se almacenarán los archivos de perfil de usuario en formato UPD y el tamaño máximo del disco (20 GB por defecto). Al usar UPD, si un usuario inicia sesión en cualquier host de recopilación de RDS, el perfil compartido del usuario siempre se cargará;Habilitar discos de perfil de usuario
  5. Hacer clic Crear para crear una nueva colección RDS;
  6. Asegúrese de que el archivo UPD (UVHD-plantilla.vhdx) con la plantilla de perfil de usuario se crea en el directorio especificado.

Para configurar los ajustes de la colección RDS, seleccione la colección y haga clic en Tareas -> Editar propiedades.

editar la configuración de la colección rds

Aquí puede cambiar las opciones básicas de recopilación (nombre, descripción, grupos de acceso) y algunas otras configuraciones.

Sobre el Sesión pestaña, puede configurar las opciones de reconexión/desconexión automática para sesiones RDP inactivas (inactivas) (obtenga más información sobre cómo configurar tiempos de espera para sesiones RDP).

Configurar el tiempo de espera de la sesión de RDS y los ajustes de reconexión

En el Seguridad pestaña, puede seleccionar la configuración de seguridad (Negociar, Nivel de seguridad RDP o SSL/TLS) y cifrado (Bajo, Alto, Compatible con el cliente o compatible con FIPS) para las sesiones RDP. Aquí puede habilitar/deshabilitar la autenticación de nivel de red (NLA) para RDP.

Configuración de seguridad y cifrado en RDS

En el Balanceo de carga pestaña, puede cambiar el host RDS Peso relativo en tu granja. Si las características del servidor (RAM, CPU) en una colección son muy diferentes, debe establecer un peso más bajo para los hosts con un rendimiento más bajo. Después de eso, RDCB distribuirá las sesiones de usuario entre los hosts RDS según su peso.

configurar peso relativo en windows server rds

La pestaña Configuración del cliente le permite especificar a qué dispositivos locales los usuarios pueden redirigir sus sesiones de RDP. Por ejemplo, puede habilitar o deshabilitar la redirección de impresoras, unidades, dispositivos de audio o el portapapeles desde la computadora de un usuario local a la sesión de RDS.

RDS: permite redirigir dispositivos locales

En el Discos de perfil de usuario pestaña, puede ajustar la configuración de UPD. Puede excluir ciertas carpetas o archivos de la sincronización. Permite reducir el tamaño del perfil UPD en una carpeta de red compartida y hace que un perfil se cargue más rápido (recuerde que se carga en la red desde la carpeta compartida cuando un usuario inicia sesión).

Es más fácil configurar y usar UPD que los perfiles móviles o la redirección de carpetas. No puede usar el mismo perfil UPD en más de una colección de RDS.

configurar discos de perfil de usuario en rds

Puede poner cualquier servidor RDSH en modo de mantenimiento (RDS Drain Mode) a través del SERVIDORES ANFITRIONES sección de la colección RDS. Para hacerlo, haga clic en un servidor y seleccione No permitir nueva conexión. Luego, el Agente de conexión no enviará nuevas sesiones de usuario al host de Escritorio remoto. En este modo, puede instalar actualizaciones de Windows o actualizar aplicaciones en el servidor sin afectar a los usuarios.

RDS - no permitir nuevas conexiones

Aquí también puede agregar/eliminar un host RDS de una colección.

Si el servidor Host de sesión de Escritorio remoto falla, puede eliminarlo correctamente de su implementación de Servicios de Escritorio remoto siguiendo esta guía.

¿Cómo publicar aplicaciones remotas en servicios de escritorio remoto?

aplicaciones remotas son programas publicados para usuarios en servidores RDS. Gracias a RemoteApps, puede usar aplicaciones instaladas en un servidor RDSH de terminal como si se estuvieran ejecutando en una computadora de usuario local. El usuario no ve todo el escritorio RDS de Windows Server y solo trabaja con las aplicaciones que un administrador ha publicado para él. Solo la ventana del programa que se ejecuta en RDS se mostrará en la computadora del usuario.

Si no crea RemoteApps, los usuarios trabajarán directamente en el escritorio de Windows Server. Así que recuerda copiar los accesos directos de la aplicación que un usuario pueda necesitar C:UsuariosPúblicoEscritorio. Los archivos de esta carpeta se mostrarán en los escritorios de todos los usuarios. Si desea instalar MS Office 365 en su RDSH, tenga en cuenta que Office debe implementarse en el modo SharedComputerLicensing.

Las aplicaciones remotas se crean en la configuración de la colección RDS. Seleccione Tareas -> Publicar programas de RemoteApp en la sección PROGRAMAS DE REMOTEAPP.

Publicar programas RemoteApp en RDS Windows Server

Windows mostrará una lista de todas las aplicaciones instaladas en el host RD actual. Puede seleccionar uno de ellos. Si no hay ninguna aplicación que necesite en la lista, pero está instalada en otros hosts RDS, haga clic en Agregar y especifique la ruta completa al ejecutable de la aplicación (exe, bat, cmd, etc.).

seleccione el programa de aplicación remota

Publicar la RemoteApp.

Luego puede especificar opciones de aplicaciones adicionales en la configuración de RemoteApp.

  • Si desea mostrar una RemoteApp publicada en la interfaz web de RD Web Access;
  • Establecer opciones de inicio (argumentos) para la aplicación (Parámetros de la línea de comandos -> Usar siempre los siguientes parámetros de la línea de comandos);
  • Sobre el Asignación de usuarios pestaña, también puede establecer restricciones sobre si un usuario o grupo puede ejecutar la aplicación.

configurar las propiedades de la aplicación remota en la configuración de la colección rds

Si desea cambiar un icono de la RemoteApp publicada, abra la siguiente carpeta en el servidor con la función Agente de conexión de RDS:

C:WindowsRemotePackagesCPubFarmsrds-Mun-ManagersCPubRemoteApps

cambiar el icono de la aplicación remota rds

Reemplace el ícono de la aplicación con otro archivo ICO.

Luego, un usuario puede ejecutar un programa RemoteApp desde RD Web Access (https://mun-rdsman.woshub.com/RDWeb) o usando un archivo especial *.RDP.

rd acceso web ejecutar aplicación remota

Para ejecutar un programa RemoteApp publicado, debe agregar las siguientes líneas al archivo RDP:

remoteapplicationmode:i:1
remoteapplicationname:s:putty
remoteapplicationprogram:s:"C:Toolsputty.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

Algunos consejos útiles para usar su granja RDS convenientemente:

¿Cómo implementar una granja de servicios de escritorio remoto usando PowerShell?

Si ve claramente la estructura de una granja de RDS, puede implementar rápidamente su configuración de RDS mediante PowerShell.

Es mejor ejecutar los siguientes comandos de PowerShell para crear una granja RDS en otro servidor, ya que deberá reiniciar los hosts RDS administrados.

Establezca los nombres de los servidores en su granja de RDS. En este ejemplo, instalaré los roles de licencia de RDCB y RDS en servidores separados (más adelante se recomienda habilitar una configuración de RDCB de alta disponibilidad).

$RDSH1 = "mun-rds1.woshub.com"
$RDSH2 = "mun-rds2.woshub.com"
$RDSCB = "mun-rdcb.woshub.com"
$RDSGW = "mun-rdsgw.woshub.com"
Import-Module RemoteDesktop

Instale roles de RDS en los servidores:

Add-WindowsFeature –ComputerName $RDSH1, $RDSH2 -Name RDS-RD-Server –IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Connection-Broker -IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSGW -Name RDS-Web-Access, RDS-Gateway –IncludeManagementTools

Reinicie todos los hosts:

Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW

Cree una nueva instancia de RDSessionDeployment:

New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 –Verbose

Agregue servidores RDWA y RDGW a su granja:

Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.woshub.com"

Puede enumerar los roles y nombres de host de RDS en su granja:

Get-RDServer -ConnectionBroker $RDSGW

Instale la función de licencias de RDS mediante el cmdlet Add-WindowsFeatures:

Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI

Establezca un modo de licencia RDS por usuario:

Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}
Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB

Agregue un servidor de licencias a un grupo de seguridad de dominio mediante Add-ADGroupMember:

Add-ADGroupMember "Terminal Server License Servers" -Members "mun-rdcb$"

Si tiene un certificado para RDS, puede agregarlo a la configuración de su granja (puede usar el certificado SSL gratuito Let’s Encrypt para su host RDS):

$Path = "C:psRDSCert.pfx"
$Password = ConvertTo-SecureString -String "setCertificPAssw00rd11-" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force

Para obtener información sobre los certificados SSL instalados:

Get-RDCertificate

Luego puede crear colecciones RDS:

$CollectionName = "ITdept"
New-RDSessionCollection –CollectionName $CollectionName –SessionHost $RDSH1,$RDSH2 –ConnectionBroker $RDSCB –CollectionDescription “IT department management collection”

Para permitir el acceso a los servidores RDS para grupos:

$UserGroup =@("WOSHUBmun-admins","WOSHUBmun-devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

Para publicar un programa RemoteApp:

New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:Program Files (x86)GoogleChromeApplicationchrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB

En este artículo, cubrimos cómo instalar y configurar una granja de servicios de escritorio remoto en Windows Server 2019/2022 usando la interfaz gráfica del Administrador del servidor y PowerShell. Los roles Acceso web de escritorio remoto y Puerta de enlace de Escritorio remoto no se describen aquí. Mostraremos cómo configurar estos roles en futuros artículos.

Artículos Interesantes