Как удалить RD Session Host из развертывания служб удаленных рабочих столов

Чтобы удалить хост RSDH из коллекции/фермы сеансов Remote Desktop Services, можно воспользоваться графической консолью Server Manager или командой Remove-RDSessionHost Команда PowerShell.

Следующую команду PowerShell можно использовать, если нужно удалить хост RD Session из коллекции сеансов на ферме RDS:

Remove-RDSessionHost -SessionHost @("rdsh2.woshub.com") -ConnectionBroker rdcb.woshub.com –verbose

VERBOSE: The specified RD Session Host server will be removed from the session collection.

Если сервер RDSH, который вы хотите удалить, находится в автономном режиме (мертвый/неработающий хост, когда вы не можете загрузить Windows, или аппаратное обеспечение сервера повреждено), вы получите следующую ошибку при попытке удалить его из развертывания RDS:

WARNING: Unable to cleanup the RD Session Host server rdsh1.

Remove-RDSessionHost - Unable to cleanup the RD Session Host server Remove-RDSessionHost - Невозможно очистить сервер RD Session Host

Если вы попытаетесь удалить такой сервер с ролью Remote Desktop Services Host из развертывания RDS с помощью диспетчера серверов, вы увидите эту ошибку:

Could not remove the configuration. Object reference not set to an instance of an object.

роль хоста удаленного рабочего стола - Не удалось удалить конфигурацию. Ссылка на объект не установлена на экземпляр объекта.роль узла удаленного рабочего стола - Не удалось удалить конфигурацию. Ссылка на объект не установлена для экземпляра объекта.

Кроме того, вы не можете управлять фермой RDS через Server Manager, поскольку после удаления хоста RDSH из консоли вы увидите следующее предупреждение:

The following servers in this deployment are not part of the server pool:
rdsh2.woshub.com
The servers must be added to the server pool.

Чтобы правильно удалить сбойный хост RDS, который вы не вернете в свою ферму, необходимо удалить его метаданные из базы данных RD Connection Broker (RDCB).

Для этого подключитесь к базе данных RDCB с помощью SQL Management Studio.

  • Если вы используете локальную базу данных Remote Desktop Connection Broker, основанную на Windows Internal Database (WID), используйте следующую строку подключения для подключения к экземпляру SQL: \\.\pipe\MICROSOFT##WID\tsql\query
  • Если ваша база данных RDCB работает на SQL Server или в группе SQL Server Always On High Availability Group (если вы используете роль RD Connection Broker высокой доступности), подключитесь к соответствующему приемнику SQL Server Listener (вы можете получить его с помощью команды: Get-RDConnectionBrokerHighAvailability )

Запустите SQL Management Studio и подключитесь к базе данных, используя учетную запись с правами локального администратора на сервере.

подключение к базе данных rds с помощью SQL Management Studioподключить базу данных rds с помощью SQL Management Studio

Настоятельно рекомендуется создавать резервные копии SQL-базы данных RD Connection Broker перед внесением любых изменений.

Разверните RDCms базы данных и найдите следующие таблицы, содержащие записи о хостах фермы RDS:

  • rds.Server — полный список серверов в ферме служб удаленных рабочих столов
  • rds.RoleRdsh — список серверов с ролью RD Session Host
  • rds.RoleRdcb — Брокер подключений
  • rds.RoleRdls — Серверы лицензий RDSr
  • rds.RoleRdvh — Хосты виртуализации
  • rds.RoleRdwa — Хосты веб-доступа

В нашем случае на сервере запущена только роль RDSH, а значит, достаточно удалить ее записи из списка rds.Server и rds.RoleRdsh таблицы.

Найдите в таблице ID сервера RDSH, который вы хотите удалить из развертывания RDS. В моем примере это ID 3.

База данных конфигурации RDБаза данных конфигурации RD

Используйте следующий запрос T-SQL, чтобы удалить записи RDSH из обеих таблиц базы данных Connection Broker:

use RDCms;
delete from rds.RoleRdsh where ServerID = '3';
delete from rds.Server where Id = '3';

удалить сервер удаленных рабочих столов из базы данных RD с помощью T-sqlудаление сервера удаленного рабочего стола из базы данных RD с помощью T-sql

Вам не нужно переводить другие хосты RDSH в режим слива.

Закройте базу данных и перезапустите консоль Server Manager. Откройте консоль RDS, обновите конфигурацию и убедитесь, что удаленный сервер больше не отображается в списке доступных хостов RDS.

удаление неработающего хоста из развертывания rdsудаление мертвого хоста из развертывания rds

Вы также можете убедиться, что в ферме RDS нет удаленных серверов, используя эту команду:

Get-RDServer

Если вы хотите перенести роли RD Connection Broker или RD Web Access на другой сервер, воспользуйтесь этим руководством.

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

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