Перенос ролей RDS (брокер подключений, веб-доступ) на другой сервер

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

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

  • При обновлении версии Windows Server начните с узла с ролью RD Connection Broker;
    Если вы используете развертывание RD Connection Broker высокой доступности, достаточно оставить один хост с ролью Connection Broker в кластере, выполнить обновление версии Windows Server на месте, затем обновить другие хосты и добавить их в кластер.
  • Терминальная ферма может содержать хосты RDSH с разными версиями Windows Server (2019/2016/2012R2). Рекомендуется использовать хосты с одной и той же версией Windows Server в одной коллекции RDS. Это означает, что вы можете создать две коллекции RDS, например, одну с хостами Windows Server 2019 и другую с хостами Windows Server 2012 R2;
  • RDS-хосты с предыдущими версиями Windows Server могут использовать брокер подключений с более новой версией ОС (например, RDS-хосты под управлением WS2012R2 или WS2016 могут использовать RD Connection Broker с WS2019, но не наоборот).
  • При обновлении версии Windows Server на хостах RDSH обязательно установите сервер лицензирования RDS на последнюю версию Windows Server и активируйте новые RDS CALs.

В моем случае два хоста RDS работают под управлением Windows Server 2012 R2:

  • Rds2 — с ролями RD Connection Broker, Web Access и RDSH
  • Rds1— с ролью RDSH
Вы можете использовать это руководство для миграции автономного сервера RDSH.

Перечислить роли в развертывании RDS можно с помощью Server Manager или PowerShell:

Get-RDServer

настройка развертывания rds на сервере windowsконфигурация развертывания rds на windows server

Задача заключается в переносе роли Connection Broker с настроенными коллекциями RemoteApp и RDS на новый хост Windows Server 2019 (обновление на месте неприменимо).

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

В Windows Server нет встроенных инструментов для легкого переноса настроенных ролей RDS между хостами.

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

По умолчанию RDCB использует локальную базу данных SQL (внутренняя база данных Windows) для хранения своих настроек (C:\Windows\rdcbDb\).

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

Install-Module ExportImportRdsDeployment -Force
Import-Module ExportImportRdsDeployment

Если Windows Management Framework 5.1 (включает Windows PowerShell 5.1) не установлен на Windows Server 2012 R2, при выполнении команды вы увидите следующую ошибку:

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 (https://www.microsoft.com/en-us/download/details.aspx?id=54616), чтобы обновить версию PowerShell до 5.1.

Если при выполнении команды вы получаете ошибку Install-Module: Unable to download from URI error when running the command, вам необходимо включить протокол TLS 1.2 для соединения PowerShell:

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

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

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

Экспорт конфигурации rds с помощью powershell - Export-RDCollectionsFromConnectionBroker Экспорт конфигурации rds с помощью powershell - Export-RDCollectionsFromConnectionBroker

Затем экспортируйте конфигурацию RDS (включая список развертываемых серверов):

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

Если на старом сервере RDS вы используете сертификаты wildcard, экспортируйте их в формате PFX (с паролем).

Скопируйте оба файла на новый RDS-сервер под управлением Windows Server 2019. Также установите модуль:

Install-Module ExportImportRdsDeployment -Force

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

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

$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:\ps\rdsdeployment.xml -RDGatewayCertPath $RDGatewayCertPath -RDGatewayCertPassword $RDGatewayCertPassword -RDWebAccessCertPath $RDWebAccessCertPath -RDWebAccessCertPassword $RDWebAccessCertPassword -RDRedirectorCertPath $RDRedirectorCertPath -RDRedirectorCertPassword $RDRedirectorCertPassword -RDPublishingCertPath $RDPublishingCertPath -RDPublishingCertPassword $RDPublishingCertPassword -Verbose

Перенос конфигурации RDS на новый хост Windows ServerПеренос конфигурации RDS на новый хост Windows Server

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

Запустите программу Get-RDServer и убедитесь, что роль RD Connection Broker находится на новом сервере.

Get-RDServer - список ролей в развертывании RDSGet-RDServer - список ролей в развертывании RDS

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

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

Убедитесь, что все коллекции RD с настроенными разрешениями и удаленными приложениями появились в консоли управления RDS.

Перемещение коллекций rds на новый хост брокера подключенийПеремещение коллекций rds на новый хост брокера соединений

Удалите роль RDCB на предыдущем узле WS2012R2 с помощью диспетчера сервера или команды Remote-WindowsFeature:

Remove-WindowsFeature RDS-Connection-Broker

удалить RDS-Connection-Broker на старом хостеудалить RDS-Connection-Broker на старом хосте

Существуют некоторые нюансы при переносе настроенного RD Web Access роль. Если вы перемещаете роль RDWebAccess между разными версиями Windows Server (с разными версиями IIS), вам придется скопировать настройки вручную.

    1. Установите роль RDS-Web-Access и добавьте новый сервер в ферму RDS:Install-WindowsFeature RDS-Web-Access
    2. Импортируйте сертификаты (если необходимо);
    3. Вы можете использовать Microsoft Web Deploy v3.6 для копирования настроек сайта RDWeb между серверами с одинаковыми версиями Windows Server. Загрузите и установите WebDeploy_amd64_en-US пакет (https://www.microsoft.com/en-us/download/details.aspx?id=43717) на обоих хостах;
    4. Чтобы перенести настройки сайта IIS в автономный режим, можно воспользоваться приведенными ниже командами: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"
      Можно также использовать функции резервного копирования IIS.

Убедитесь, что ваши пользовательские настройки IIS были применены (включая форму смены пароля с истекшим сроком действия для RD Web Access). Аналогичным образом можно перенести роль шлюза удаленных рабочих столов.

Если URL-адрес сервера RD Web Access изменился, обязательно измените его в политике RDS Single Sign-On.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *