Блог

В этой статье мы рассмотрим процесс переноса (миграции) ролей Remote Desktop Connection Broker и RDS Web Access на другой сервер. Этот сценарий можно использовать, если вы хотите мигрировать роли RDS на новую версию Windows Server или перенести ключевые RDS роли на другие сервера. В данном примере мы будем мигрировать роль RD Connection Broker с Windows Server 2012 R2 на Windows Server 2019, а также рассмотрим особенности переноса роли RD Web Access.

Приобрести оригинальные ключи активации Windows Server можно у нас в магазине от 1090 ₽

Скачать дистрибутивы Windows Server можно у нас в каталоге.

Некоторые ограничения по совместимости версий Windows Server в ферме RDS:

— При обновлении версии Windows Server нужно начинать с хоста с ролью RD Connection Broker.

— Если у вас используется высоко-доступная роль RD Connection Broker, то для переноса достаточно оставить в кластере один хост с этой ролью, выполнить обновление Windows Server, затем обновить другие серверы и добавить их в кластер.

— В одной терминальной ферме могут находиться хосты RDSH с разными версиями Windows Server (2019/2016/2012R2), но в одной коллекции RDS рекомендуется использовать хосты с одной версией Windows Server.

— Сервера с предыдущими версиями Windows могут использовать Connection Broker с более новой версией (например, RDSH хосты с WS2012R2 и WS2016 могут использовать RD Connection Broker на WS2019, но не наоборот).

— Не забудьте установить сервер лицензирования RDS на более новой версии и активировать новые RDS CAL при обновлении версий Windows Server на RDSH хостах.

Шаг 1: Подготовка

В нашем случае у нас есть два сервера RDS на Windows Server 2012 R2:

Rds2 – с ролями RD Connection Broker, Web Access и RDSH.

Rds1 – с ролью RDSH.

Для миграции настроек мы будем использовать PowerShell. Текущее распределение ролей в RDS можно вывести через Server Manager или с помощью PowerShell:

Get-RDServer

Шаг 2: Подготовка нового сервера

Подготовьте новый хост с Windows Server 2019 и установите на него роли RD Connection Broker и RD Licensing (если требуется).

Для экспорта/импорта настроек RDCB используется модуль ExportImportRdsDeployment из PowerShell Gallery.

По умолчанию RDCB для хранения настроек использует локальную базу SQL (Windows Internal Database), хранящаяся на локальном диске сервера RD Connection Broker в каталоге C:\Windows\rdcbDb\.

Установите модуль из галереи скриптов PowerShell (также можно установить модуль в офлайн режиме):

Install-Module ExportImportRdsDeployment -Force

Import-Module ExportImportRdsDeployment

Если в Windows Server 2012 R2 не установлен Windows Management Framework 5.1 (включает в себя версию Windows PowerShell 5.1), то при выполнении команды появится ошибка: «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.»

Скачайте и установите KB3191564 чтобы обновить версию PowerShell до 5.1.

Если при запуске команды появляется ошибка Install-Module: Unable to download from URI, нужно включить использование TLS 1.2 для подключения:

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

Шаг 3: Экспорт настроек с текущего сервера

Экспортируйте коллекции RDS в XML файл:

Export-RDCollectionsFromConnectionBroker -ConnectionBroker localhost -XMLFile c:\ps\rdsoldcol.xml –Verbose

Теперь экспортируем конфигурацию RDS, включая список серверов в развертывании:

Export-RDDeploymentFromConnectionBroker -ConnectionBroker localhost -XMLFile c:\ps\rdsdeployment.xml -Verbose

Если используются wildcard сертификаты, экспортируйте их в формате .pfx с паролем.

Шаг 4: Импорт настроек на новый сервер

Скопируйте XML файлы на новый сервер с Windows Server 2019. Установите модуль ExportImportRdsDeployment на новом сервере:

Install-Module ExportImportRdsDeployment -Force

В этом примере мы переносим RDS конфигурацию без сертификатов, поэтому указали несуществующие файлы. Если у вас используются сертификаты в RDS развертывании, укажите пути и пароли.

Теперь выполните следующие команды:

$RDGatewayCertPath = "C:\\Temp\\noсert.pfx"
$RDWebAccessCertPath = "C:\\Temp\\noсert.pfx"
$RDRedirectorCertPath = "C:\\Temp\\noсert.pfx"
$RDPublishingCertPath = "C:\\Temp\\noсert.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:\ps\rdsdeployment.xml -RDGatewayCertPath $RDGatewayCertPath -RDGatewayCertPassword $RDGatewayCertPassword -RDWebAccessCertPath $RDWebAccessCertPath -RDWebAccessCertPassword $RDWebAccessCertPassword -RDRedirectorCertPath $RDRedirectorCertPath -RDRedirectorCertPassword $RDRedirectorCertPassword -RDPublishingCertPath $RDPublishingCertPath -RDPublishingCertPassword $RDPublishingCertPassword -Verbose

Если у вас не используются сертификаты для RDS, то в скрипте появится предупреждение о том, что файлы не найдены. Проигнорируйте эту ошибку.

Выполните команду Get-RDServer и убедитесь, что роль RD Connection Broker теперь на новом сервере.

Импортируйте RDS коллекции:

Import-RDCollectionsToConnectionBroker -ConnectionBroker localhost -XmlFile "C:\PS\rdsoldcol.xml" -Verbose

Шаг 5: Удаление старых ролей

Удалите роль RDCB на предыдущем сервере (Windows Server 2012 R2) с помощью Server Manager или команды:

Remove-WindowsFeature RDS-Connection-Broker

Шаг 6: Перенос RD Web Access
RD Web Access на сервер с другой версией Windows Server (например, с Windows Server 2012 R2 на Windows Server 2019), необходимо выполнить миграцию настроек вручную.

1. Установите роль RDS-Web-Access на новом сервере:

Install-WindowsFeature RDS-Web-Access

2. Используйте Microsoft Web Deploy для переноса настроек сайта RDWeb. Скачайте и установите пакет WebDeploy_amd64_en-US на оба сервера (старый и новый). Затем выполните команды:

Для офлайн переноса настроек сайта можно использовать такие команды:

cd "C:\Program Files (x86)\IIS\Microsoft Web Deploy V3"

На исходном сервере:

msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:archivedir=c:\ps\rdweb

На целевом сервере:

msdeploy -verb:sync -source:archivedir=c:\ps\rdweb -dest:appHostConfig="Default Web Site"

3. Проверьте, что все кастомные настройки IIS, включая форму смены пароля на RD Web Access, успешно перенесены.

Заключение

В этой статье мы рассмотрели, как выполнить миграцию ролей RD Connection Broker и RD Web Access с одного сервера на другой, используя PowerShell и Web Deploy. Этот процесс полезен при обновлении серверов или перемещении ключевых RDS ролей на новые серверы.

banner for Windows Server
Купить ключ активации Windows Server от
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии