Migración de funciones de RDS (agente de conexión, acceso web) a otro servidor

Esta guía debería ayudarlo a migrar (mover) las funciones de Agente de conexión a Escritorio remoto y Acceso web de RDS a otro servidor. En este ejemplo, migraremos la función Agente de conexión de RDS del host de Windows Server 2012 R2 a Windows Server 2019. También veremos los detalles de la migración de la función Acceso web de Escritorio remoto.

Alguno restricciones de compatibilidad de versiones de Windows Server en una granja RDS:

  • Al actualizar una versión de Windows Server, comience con el host con la función de agente de conexión a Escritorio remoto;
    Si está utilizando la implementación de Agente de conexión a Escritorio remoto de alta disponibilidad, basta con dejar un host con la función de Agente de conexión en un clúster, realizar una actualización en el lugar de la versión de Windows Server, luego actualizar otros hosts y agregarlos a el racimo
  • Una granja de terminales puede contener hosts RDSH con diferentes versiones de Windows Server (2019/2016/2012R2). Se recomienda utilizar hosts con la misma versión de Windows Server dentro de la misma colección de RDS. Esto significa que puede crear dos colecciones RDS, por ejemplo, una con hosts de Windows Server 2019 y otra con hosts de Windows Server 2012 R2;
  • Los hosts RDS con versiones anteriores de Windows Server pueden usar un agente de conexión con una versión más reciente del sistema operativo (por ejemplo, los hosts RDS que ejecutan WS2012R2 o WS2016 pueden usar el agente de conexión RD con WS2019, pero no al revés).
  • Al actualizar la versión de Windows Server en hosts RDSH, asegúrese de instalar el servidor de licencias de RDS en la última versión de Windows Server y active nuevas CAL de RDS.

En mi caso, dos hosts RDS ejecutan Windows Server 2012 R2:

  • Rds2 – con los roles Agente de conexión a Escritorio remoto, Acceso web y RDSH
  • Rds1– con el rol RDSH

Puede enumerar roles en su implementación de RDS con Server Manager o PowerShell:

Get-RDServer

configuración de implementación de rds en el servidor de windows

La tarea es migrar la función de agente de conexión con las colecciones de RemoteApp y RDS configuradas a un nuevo host de Windows Server 2019 (no se aplica una actualización local).

Prepare un nuevo host con Windows Server 2019 e instale los roles Agente de conexión a Escritorio remoto y Licencias de Escritorio remoto (si es necesario) en él.

Windows Server no tiene herramientas integradas para transferir fácilmente roles RDS configurados entre hosts.

Para exportar/importar la configuración actual de RDCB, puede usar el ExportImportRdsDeployment módulo de la Galería de PowerShell.

De forma predeterminada, RDCB utiliza una base de datos SQL local (base de datos interna de Windows) para almacenar su configuración (C:WindowsrdcbDb).

Instale el módulo ExportImportRdsDeployment desde la Galería de PowerShell (también puede instalar un módulo de PowerShell sin conexión):

Install-Module ExportImportRdsDeployment -Force
Import-Module ExportImportRdsDeployment

Si Windows Management Framework 5.1 (incluye Windows PowerShell 5.1) no está instalado en Windows Server 2012 R2, verá el siguiente error al ejecutar el comando:

Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Descargar e instalar KB3191564 (https://www.microsoft.com/en-us/download/details.aspx?id=54616) para actualizar su versión de PowerShell a 5.1.

Si recibe un módulo de instalación: no se puede descargar desde el error URI al ejecutar el comando, debe habilitar el protocolo TLS 1.2 para la conexión PS:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Exporte las colecciones RDS a un archivo XML:

Export-RDCollectionsFromConnectionBroker -ConnectionBroker localhost –XMLFile c:psrdsoldcol.xml –verbose

Exportar configuración de rds con powershell - Export-RDCollectionsFromConnectionBroker

Luego, exporte su configuración de RDS (incluida una lista de servidores en implementación):

Export-RDDeploymentFromConnectionBroker -ConnectionBroker localhost –XMLFile c:psrdsdeployment.xml -Verbose

Si está utilizando certificados comodín en su antiguo servidor RDS, expórtelos en PFX (con una contraseña).

Copie ambos archivos en su nuevo servidor RDS con Windows Server 2019. Además, instale el módulo:

Install-Module ExportImportRdsDeployment -Force

En este ejemplo, estoy migrando la configuración de RDS sin certificados, por lo que especifiqué archivos que no existen. Si usa certificados en la implementación de RDS, proporcione sus rutas de archivo y contraseña.

Luego ejecute los siguientes comandos:

$RDGatewayCertPath = "C:\PS\nocert.pfx"
$RDWebAccessCertPath = "C:\PS\nocert.pfx"
$RDRedirectorCertPath = "C:\PS\nocert.pfx"
$RDPublishingCertPath = "C:\PS\nocert.pfx "
$RDGatewayCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force
$RDWebAccessCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force
$RDRedirectorCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force
$RDPublishingCertPassword = ConvertTo-SecureString -String "nopass" -AsPlainText -Force
Import-RDDeploymentToConnectionBroker -ConnectionBroker localhost -XmlFile c:psrdsdeployment.xml -RDGatewayCertPath $RDGatewayCertPath -RDGatewayCertPassword $RDGatewayCertPassword -RDWebAccessCertPath $RDWebAccessCertPath -RDWebAccessCertPassword $RDWebAccessCertPassword -RDRedirectorCertPath $RDRedirectorCertPath -RDRedirectorCertPassword $RDRedirectorCertPassword -RDPublishingCertPath $RDPublishingCertPath -RDPublishingCertPassword $RDPublishingCertPassword -Verbose

Migrar la configuración de RDS al nuevo host de Windows Server

Si no está utilizando certificados para RDS, verá una advertencia de que no se encontraron los archivos. Ignora este error.

ejecutar el Get-RDServer comando y asegúrese de que la función Agente de conexión a Escritorio remoto esté en un servidor nuevo.

Get-RDServer: lista de roles en la implementación de RDS

Importe las colecciones RDS:

Import-RDCollectionsToConnectionBroker -ConnectionBroker localhost -XmlFile "C:PSrdsoldcol.xml" -Verbose

Asegúrese de que todas las colecciones de RD con los permisos configurados y las aplicaciones remotas aparecieron en la consola de administración de RDS.

Mueva las colecciones de rds al nuevo host del intermediario de conexión

Elimine la función RDCB en el host WS2012R2 anterior mediante el Administrador del servidor o el comando Remote-WindowsFeature:

Remove-WindowsFeature RDS-Connection-Broker

eliminar RDS-Connection-Broker en el host antiguo

Hay algunos matices al migrar un configurado Acceso web de RD role. Si está moviendo la función RDWebAccess entre diferentes versiones de Windows Server (con diferentes versiones de IIS), deberá copiar la configuración manualmente.

    1. Instale el rol RDS-Web-Access y agregue un nuevo servidor a su granja RDS:Install-WindowsFeature RDS-Web-Access
    2. Importe los certificados (si es necesario);
    3. Puedes usar Implementación web de Microsoft v3.6 para copiar la configuración del sitio RDWeb entre servidores con las mismas versiones de Windows Server. Descargue e instale el WebDeploy_amd64_en-US paquete (https://www.microsoft.com/en-us/download/details.aspx?id=43717) en ambos hosts;
    4. Para transferir la configuración del sitio de IIS sin conexión, puede usar los siguientes comandos:cd "C:Program Files (x86)IISMicrosoft Web Deploy V3"En un host de origen:msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:archivedir=c:psrdwebEn un host de destino:msdeploy -verb:sync -source:archivedir=c:psrdweb -dest:appHostConfig="Default Web Site"

Asegúrese de que se haya aplicado su configuración personalizada de IIS (incluido su formulario de cambio de contraseña vencido para Acceso web de escritorio remoto). Del mismo modo, puede migrar el rol de puerta de enlace de escritorio remoto.

Si la dirección URL de su servidor de acceso web de escritorio remoto ha cambiado, asegúrese de cambiarla en la política de inicio de sesión único de RDS.

Artículos Interesantes