Вопрос или проблема
У нас есть несколько машин, установленных на Windows Server, на которых установлена роль RDS, но сервер лицензий для CAL не настроен. Причина заключается в том, что мы используем одно изображение развертывания, которое также используется на машинах, где требуется роль RDS, и сервер лицензий затем правильно настраивается через GPO.
Теперь проблема в том, что пока машины настроены с установленной ролью RDS, но без сервера лицензий, даже подключения от имени администратора, которые я ожидал бы, что будут работать, не работают. Клиент RD говорит
Удаленная сессия была разорвана, потому что нет доступных серверов лицензий удаленного рабочего стола для предоставления лицензии. Пожалуйста, свяжитесь с администратором сервера.
Я попытался включить политику “Ограничить пользователей служб удаленных рабочих столов одной сессией служб удаленных рабочих столов”, надеясь, что это отключит требование к CAL, но, похоже, это не так.
Как я могу заставить машины работать только в административном режиме (разрешив “известные” 2 одновременные подключения с административными учетными записями) или просто отключить или удалить роль RDS? Я хотел бы достичь этого либо с помощью GPO (это было бы идеальное решение), либо программно с удаленного сервера (например, с помощью Powershell, SC, REG или любого подобного стандартного инструмента, в зависимости от того, что необходимо). Я не могу найти никакой документации на сайте MS о том, как правильно это сделать, не потребляя CAL для административного доступа.
Причина заключается в том, что мы используем одно изображение развертывания, которое также используется на машинах, где требуется роль RDS, и сервер лицензий затем правильно настраивается через GPO.
Это не являетсяValid reason. Даже близко. Это на самом деле худшая практика, о чем свидетельствует множество вопросов здесь на протяжении многих лет, о том, что они оказались в затруднительном положении, потому что сервер RDS перестал работать.
RDS требует активации. RDS требует сервер лицензий. RDS не требует лицензий, но требует сервер лицензий. Сервер лицензий даже может быть установлен на том же хосте, и у вас может быть сотни или даже тысячи “зомби” служб лицензий, работающих.
Но вы не можете не активировать RDS или не настраивать его для использования сервера лицензий.
Изображение не должно содержать установленный RDS, если это не изображение, специфичное для RDS.
Ответ или решение
Для решения вашим вопросов относительно принудительного запуска служб удаленного рабочего стола (RDS) в административном режиме, когда на машинах установлена роль RDS, но сервер лицензий не настроен, я предлагаю несколько подходов.
1. Настройка конфигурации RDS
Как вы уже заметили, RDS требует наличия активированного сервера лицензий. Даже если вы используете единственный образ развертывания, наиболее рекомендуемый подход – это организовать лицензирование. На данный момент я настоятельно рекомендую:
- Настроить сервер лицензий RDS. Это может быть сделано локально на той же машине, где установлен RDS, или на отдельном сервере. Сервер лицензий можно настроить через Group Policy (GPO), что соответствует вашему сценарному развертыванию.
Вы не сможете обойтись без лицензий, но важно услышать, что использование RDS без надлежащего лицензирования может привести к большому количеству проблем, как это было описано в комментариях к вашему вопросу.
2. Работа в административном режиме
Если вы настаиваете на использовании административного доступа, вам нужно будет убедиться, что вы подключаетесь правильным образом:
- Выполните команду
mstsc /admin
(или/console
в более ранних версиях Windows) для подключения в административном режиме. Это позволит вам установить до двух административных сессий без необходимости лицензирования CAL.
3. Отключение роли RDS
Если вы решите, что использование RDS на этих машинах нецелесообразно, вы можете удалить роль RDS. Варианты удаления роли:
Через PowerShell:
Вы можете использовать PowerShell, чтобы удалить роль RDS. Запустите следующую команду от имени администратора:
Uninstall-WindowsFeature -Name Remote-Desktop-Services
Через графический интерфейс:
- Откройте "Диспетчер серверов".
- Перейдите в раздел "Управление" -> "Удалить роли и компоненты".
- Следуйте инструкциям мастера, выберите сервер и снимите галочку с "Удаленные рабочие столы".
- Завершите процесс, перезагрузив сервер при необходимости.
С помощью GPO:
Если вы хотите автоматизировать это на уровне GPO:
- Создайте новый объект GPO и примените его к нужной OU.
- Вы можете использовать script-файл, запустив удаленное PowerShell скрипт или командный файл, который будет отключать RDS, но процесс будет похож на вышеописанные методы.
Заключение
В итоге, наиболее оптимальным вариантом в вашем случае является легальная настройка сервера лицензий RDS, что позволит избежать дальнейших проблем и соблюдения законодательства. Если лицензирование не подходит для ваших нужд, рассмотрите возможность полного удаления роли RDS с ваших машин.