
Это руководство поможет вам перенести (переместить) роли 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 и RDSHRds1
— с ролью RDSH
Перечислить роли в развертывании RDS можно с помощью Server Manager или PowerShell:
Get-RDServer
Задача заключается в переносе роли Connection Broker с настроенными коллекциями RemoteApp и RDS на новый хост Windows Server 2019 (обновление на месте неприменимо).
Подготовьте новый хост с Windows Server 2019 и установите на него роли RD Connection Broker и RD Licensing (если необходимо).
В Windows Server нет встроенных инструментов для легкого переноса настроенных ролей RDS между хостами.
Для экспорта/импорта текущих настроек RDCB можно использовать команду ExportImportRdsDeployment модуль из галереи PowerShell.
C:\Windows\rdcbDb
\).Установите модуль ExportImportRdsDeployment из галереи PowerShell (вы также можете установить модуль PowerShell в автономном режиме):
Install-Module ExportImportRdsDeployment -Force
Import-Module ExportImportRdsDeployment
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 (включая список развертываемых серверов):
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, вы увидите предупреждение о том, что файлы не найдены. Проигнорируйте эту ошибку.
Запустите программу Get-RDServer
и убедитесь, что роль RD Connection Broker находится на новом сервере.
Импортируйте коллекции RDS:
Import-RDCollectionsToConnectionBroker -ConnectionBroker localhost -XmlFile "C:\PS\rdsoldcol.xml" -Verbose
Убедитесь, что все коллекции RD с настроенными разрешениями и удаленными приложениями появились в консоли управления RDS.
Удалите роль RDCB на предыдущем узле WS2012R2 с помощью диспетчера сервера или команды Remote-WindowsFeature:
Remove-WindowsFeature RDS-Connection-Broker
Существуют некоторые нюансы при переносе настроенного RD Web Access роль. Если вы перемещаете роль RDWebAccess между разными версиями Windows Server (с разными версиями IIS), вам придется скопировать настройки вручную.
-
- Установите роль RDS-Web-Access и добавьте новый сервер в ферму RDS:
Install-WindowsFeature RDS-Web-Access
- Импортируйте сертификаты (если необходимо);
- Вы можете использовать Microsoft Web Deploy v3.6 для копирования настроек сайта RDWeb между серверами с одинаковыми версиями Windows Server. Загрузите и установите WebDeploy_amd64_en-US пакет (https://www.microsoft.com/en-us/download/details.aspx?id=43717) на обоих хостах;
- Чтобы перенести настройки сайта 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.
- Установите роль RDS-Web-Access и добавьте новый сервер в ферму RDS:
Убедитесь, что ваши пользовательские настройки IIS были применены (включая форму смены пароля с истекшим сроком действия для RD Web Access). Аналогичным образом можно перенести роль шлюза удаленных рабочих столов.
Если URL-адрес сервера RD Web Access изменился, обязательно измените его в политике RDS Single Sign-On.