Сервер терминалов на windows server 2022

Инструкция по настройке терминального сервера на базе Windows Server 2022

В первую очередь требуется установить ОС Windows Server 2022. В данной инструкции у нас она уже установлена на виртуальной машине.

Минимальные требования:

  • 64-разрядный процессор с тактовой частотой 1,4 ГГц.
  • ОЗУ 512 МБ (2 ГБ для варианта установки Сервер с рабочим столом).
  • Диск 32 ГБ.
  • Доступ к интернету..

После запуска Windows Server 2022, мы устанавливаем роли для настройки терминального сервера и шлюза удаленных рабочих столов.

Заходим в Диспетчер серверов → добавить роли и компоненты.

В оснастке Мастер добавления ролей и компонентов:

  • Тип установки — установка ролей и компонентов.
  • Роли сервера — службы удаленных рабочих столов.

Добавляем роли на сервере:

  • Тип установки — Установка ролей или компонентов.
  • Выбор сервера — Выбираем наш текущий сервер.
  • Роли сервера — Службы удаленных рабочих столов.
  • Службы ролей — Лицензирование удаленных рабочих столов, шлюз удаленных рабочих столов.

Подтверждаем установку компонентов и нажимаем Установить. Перезагружаем сервер.

Настройка сервера лицензирования

Заходим в Диспетчер серверов → Средства → Remote Desktop Services → Диспетчер лицензирования удаленных рабочих столов.

В диспетчере нажимаем ПКМ на наш сервер и выбираем Активировать сервер.

Попадаем в Мастер активации сервера, выбираем метод подключения Авто, вводим свои данные и нажимаем Далее.

В следующем пункте вводим Сведения об организации и нажимаем Далее.

Завершение работы мастера активации сервера выполняется с поставленной галочкой Запустить мастер установки лицензий чтобы попасть в оснастку установки лицензий.

В мастере установки лицензий появятся параметры сервера лицензирования, жмём Далее.

Лицензию выбираем в зависимости от того, какая у вас имеется.

Есть следующие типы лицензии:

  • Пакет лицензий (в розницу).
  • Соглашение Open License.
  • Соглашение Select License.
  • Соглашение Enterprise Agreement.
  • Соглашение Campus Agreement.
  • Соглашение School Agreement.
  • Лицензионное соглашение постановщика услуг.
  • Другое соглашение.
  • Лицензия Select Plus.

В нашем случае мы выбираем Соглашение Enterprise Agreement.

  • Выбираем версию продукта Windows Server 2022.
  • Тип лицензии — Клиентская лицензия служб удаленных рабочих столов на устройство.
  • Количество ставим в зависимости от приобретенной вами лицензией. В нашем случае мы активируем на 10 устройств.

В завершение установки осталось выполнить добавление групповых политик, для этого нажимаем Win+R (или ПКМ по меню Пуск и выбираем Выполнить).

В окне Выполнить вводим gpedit.msc и нажимаем ОК.

Попадаем в Редактор локальной групповой политики. Здесь требуется править две записи. Для того, чтобы указать сервер лицензирования, мы переходим в пункт: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Служба удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Лицензирование → Использовать указанные серверы лицензирования удаленных рабочих столов>.

Включаем данную политику и вводим требуемый сервер лицензирования. В нашем случае мы будем ссылаться на свой локальный сервер 127.0.0.1 и применяем настройку.

Вызов панели для создания виртуальной машины

Рисунок 1 — Настройка сервера лицензирования

Для второго пункта мы переходи по следующему пути: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Служба удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Лицензирование → Задать режим лицензирования удаленных рабочих столов.

Включаем политику и указываем режим лицензирования, в нашем случае мы активируем на устройство и применяем настройку.

Далее обновляем групповую политику. Для этого открываем строку Выполнить посредством нажатия комбинации Win+R, вводим команду gpupdate /force, жмём Enter.

Настройка по установке лицензий прошла успешно, далее мы настраиваем шлюз удаленных рабочих столов.

Настройка шлюза удаленных рабочих столов

Шлюз удаленных рабочих столов — это сервис-посредник между клиентами из внешней сети и сеансов внутренней сети, обеспечивает безопасный обмен данными между ними и прослушивает порт 443.
Заходим в Диспетчер серверов → Средства → Remote Desktop Services → Диспетчер шлюза удаленных рабочих столов. Нажимаем ПКМ по папке Политики и выбираем Создание новых политик авторизации. Откроется Мастер создания новых политик авторизации.

Далее выбираем следующие пункты:

  • Политики авторизации — Создать политику авторизации подключений к удаленным рабочим столам и авторизации ресурсов удаленных рабочих столов.
  • Политика авторизации подключений — пишем наименование политики (в нашем случае Users).
  • Требования — выбираем членство в группе для пользователей или компьютеров, которые смогут подключаться к серверу (в нашем случае, мы добавили группу пользователей Пользователи удаленного рабочего стола и Администраторы).
  • Перенаправление устройств — выбираем, что требуется перенаправить (мы выбрали Включить перенаправление устройств для всех клиентских устройств).
  • Время ожидания сеанса — по умолчанию.
  • Сводка по политике авторизации подключений к RD — параметры которые будут созданы в данной политике.
  • Политика авторизации ресурсов — пишем наименование политики (в нашем случае TS).
  • Группы пользователей — выбираем членство в группе для пользователей или компьютеров, которые смогут подключаться к серверу (в нашем случае, мы добавили группу пользователей Пользователи удаленного рабочего стола и Администраторы).
  • Сетевой ресурс — можем настроить группу терминальных серверов, куда можно подключиться, выберем Разрешить подключение пользователей к любому ресурсу (компьютеру).
  • Разрешенные порты — если настроен нестандартный порт, то в этом пункте можно это указать, выбираем Разрешить подключение только к порту 3389.
  • Сводка по политике авторизации ресурсов RD — параметры которые будут созданы в данной политике.

На данном этапе мы завершили настройку шлюза удаленных рабочих столов, за исключением установки сертификата.

Для того, чтобы установить сертификат на шлюз удаленных рабочих столов, мы воспользуемся утилитой win-acme.

Установка сертификата на шлюз удаленных рабочих столов через Let’s Encrypt

Скачиваем программу win-acme.

Копируем в папку C:Scriptswin-acme.

Создаем 2 bat-файла:

Файл C:Scriptswin-acmeRegister.bat:

@echo off

rem powershell.exe

:: Ввод данных:
set /p commonname_Data="Enter Domain name(exampe : v0162.esit.info) : "
powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "Get-WebBinding |  Remove-WebBinding"
powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "New-WebBinding -Name 'Default Web Site' -Port 443 -Protocol https   -SslFlags 0 -IPAddress "*" -HostHeader "*" "
powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "New-WebBinding -Name 'Default Web Site' -Port 80 -Protocol http   -IPAddress "*" -HostHeader "*" "
powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "Set-WebBinding -Name 'Default Web Site' -BindingInformation "*:443:*" -PropertyName  HostHeader  -Value '%commonname_Data%'"
powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "Set-WebBinding -Name 'Default Web Site' -BindingInformation "*:80:*" -PropertyName  HostHeader  -Value '%commonname_Data%'"
@echo on
"C:Scriptswin-acmewacs.exe" --installation script --target iissite --siteid 1 --commonname %commonname_Data% --emailaddress [email protected] --accepttos --script "./scripts/PSScript.bat" --scriptparameters "./scripts/ImportRDGateway.ps1 {5}"

Файл C:Scriptswin-acmeScriptsPSScript.bat:

powershell.exe -ExecutionPolicy RemoteSigned -File %*
  • После этого запускаем C:Scriptswin-acmeRegister.bat.
  • Вводим домен на котором находится наш шлюз удаленных рабочих столов.
  • Если всё получилось, то в оснастке шлюза удаленных рабочих столов должен появится созданный сертификат, а в консоли — готовый результат.

Подключение пользователей

Следующем этапом мы создаем пользователей для подключение к удаленному рабочему столу через шлюз удаленных рабочих столов.

Вводим требуемые поля: пользователь и пароль.

  • В меню пуск находим оснастку Управление компьютером.
  • Нажимаем папку Локальные пользователи.
  • Выбираем папку Пользователи, нажимаем ПКМ → Новый пользователь.

Создаем нового пользователя, убираем срок действия пароля (если нужно) и добавляем его в группу Пользователи удаленного рабочего стола, для этого заходим в Панель управления → Система → Настройка удаленного рабочего стола → Выбрать пользователей → Добавить.

Добавляем созданных пользователей, после чего подключаемся к серверу.

На машине, с которой будем подключаться к серверу, ищем утилиту Подключение к удаленному рабочему столу на Windows 10 она находится по следующему расположению: Пуск → Стандартные → Windows → Подключение к удаленному рабочему столу.

В открытом окне вводим имя нашего сервера или локальный ip-адрес. В нашему случае имя сервера EFSOL-IT. Пользователя указываем, которого создали (EFSOL-ITuser001).

Далее, чтобы указать адрес шлюза удаленных рабочих столов, переходим во вкладку Дополнительно нажимаем Параметры вводим в окне Имя сервера.

Нажимаем ОК → Подключить.

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

Установка терминального сервера произведена и шлюз удаленных рабочих столов успешно настроен.

Нужна помощь? Настройки Windows Server и обслуживание серверов мы осуществляем в рамках услуги ИТ-аутсорсинг. Также возможны разовые проектные работы.

В этой статье мы рассмотрим самые базовые настройки Windows Server 2022 — это Active Directory, DNS, DHCP, настройки терминальных лицензий, добавление пользователей… Эти настройки являются не обязательными, но как правило применяются как базовые для большинства задач.

— Скачать бесплатно дистрибутив Windows Server 2022 Standard и Datacenter можете в нашем каталоге.

— Пошаговая инструкция по установке Windows Server 2022 в нашей прошлой статье.

— Приобрести ключи активации для Windows Server 2022 Standard и Datacenter можете так же в нашем каталоге.

1) При установке Windows Server 2022 например на русском языке, добавляется по умолчанию только одна раскладка клавиатуры — «Русский язык», для настроек нам необходима еще английская раскладка клавиатуры. Добавим ее.

Заходим в меню «Пуск» => Параметры => Время и язык.

Во вкладке «Язык» нажимаем на «Добавление языка».

Выбираем «Английский» => Далее.

Можем оставить все галки, кроме назначения языком интерфейса и нажимаем «Установить».

Теперь дожидаемся установки языкового пакета, после установки можете перезагрузить сервер и у Вас появится возможность переключения языка раскладки на английский язык.

2) Следующим шагом, нам нужно задать имя серверу для более простого подключения к нему. Заходим в проводник => Слева «Этот компьютер» => Свойства.

В меню «О программе» нажимаем «Дополнительные параметры системы».

В новом окне выбираем вкладку «Имя компьютера» => Изменить.

Задаем имя компьютера, имя может быть любое. Рекомендуем не использовать кириллицу, а только латиницу и цифры.

Для применения настроек — перезагружаем сервер.

3) Далее, зададим локальный статический IP адрес сервера. Это так же необходимо для бесперебойного подключения к нему. (мы рекомендуем помимо всего использовать так же статический публичный IP для корректного подключения к нему из внешней сети интернет). Так же, данная настройка обязательна для последующей настройки DHCP сервера.

В поиск вводим ncpa.cpl

Правой кнопкой мыши на сетевую карточку => Свойства.

Мы будем настраивать Ipv4, выделяем его курсором и нажимаем «Свойства».

Задаем настройки IP Вашей сети. Внимание! На скриншоте ниже — это пример, у вас должны быть Ваши собственные настройки под Вашу сеть.

3) Теперь переходим к добавлению ролей и компонентов в Active Directory (Диспетчере серверов).

Нажимаем меню «Пуск» => Диспетчер серверов.

Добавить роли и компоненты.

В следующем окне просто нажимаем «Далее».

В меню «Тип установки» выбираем пункт => Установка ролей и компонентов.

Далее «Выбираем сервер из пула». Он у нас должен быть один.

Далее, выбираем нужные Вам роли (функионал сервера), в случае чего, вы всегда сможете добавить что-либо еще, если что-то понадобится дополнительное.

Мы выберем на примере DHCP-сервер, DNS-сервер (Внимание! DNS (домен) не всегда нужен под рабочие задачи, убедитесь, что он нужен именно Вам, прежде чем его выбирать для установки. Мы его устанавливаем лишь для примера.), Доменные службы и Службы для удаленных рабочих столов (для подключения к серверу по RDP).

После выбора нужных служб идем далее.

Далее, пролистываем до меню «Службы ролей» в подпункт «Службы удаленных рабочих столов» и выбираем здесь пункты «Лицензирование удаленных рабочих столов», «Узел сеансов удаленных рабочих столов» и «Шлюз удаленных рабочих столов».

Пролистываем до конца в меню «Подтверждение», нажимаем «Установить» и дожидаемся установки служб.

После перезагрузите сервер для применения настроек.

4) После перезагрузки заходим в меню Active Directory (Диспетчер серверов) и перейдем в настройки доменных служб (DNS), если вы не выбирали данную службу, то пропустите этот пункт настройки.

Выбираем пункт «Добавить новый лес» => и задаем имя для домена, он может быть любым, например названием вашей компании, или название вашего сайта. Настоятельно рекомендуем задавать только на латинице (или цифры).

В параметрах контроллера домена задаем пароль для Вашего домена.

Параметр NetBIOS как правило задается автоматически от имени домена.

Доходим до проверки предварительных требований и нажимаем «Установить». Дождитесь установки.

После установки домена можете проверить в свойствах системы, что Ваш сервер добавлен в домен.

5) Перейдем к настройке DHCP, чтобы сервер мог раздавать IP адреса на клиентские ПК.

Нажимаем «Далее».

Оставляем по умолчанию.

В этой настройке готово.

Теперь в диспетчере серверов, в меню слева выбираем пункт DHCP => Правой кнопкой мыши на Ваш сервер => Диспетчер DHCP

Раскрываем ветку DHCP => Ваш сервер => IPv4, правой кнопкой мыши на этот пункт => Создать область.

В новом окне «Далее».

Задаем любое имя области.

Далее задаем диапазон IP адресов, который будет раздавать сервер на локальные компьютеры, а так же маску подсети. (На скриншоте ниже — это пример, у вас может быть свой диапазон).

При желании, можете исключить какой-либо промежуток IP адресов, либо просто нажмите «Далее».

Задаем срок действия раздачи IP адреса на компьютеры. Мы зададим большой срок в 365 дней, у вас он может быть любой под Ваши задачи.

Выбираем пункт «Да, настроить эти параметры сейчас».

Можете добавить адрес маршутизатора (роутера) из вашей сети.

Можете добавить WINS-сервер, если у вас уже он был ранее настроен на сервере, то он добавится автоматически. Либо можете пропустить данный пункт настройки.

Активировать эту область сейчас.

Готово.

Теперь видим, что область успешно создана.

6) Теперь приступим к лицензированию удаленных рабочих столов (RDP / RDS), чтобы Вы могли подключаться к серверу с клиентских ПК по RDP.

— Первое, что для этого нужно — это ключ активации Windows Server 2022 RDS User или Device CAL. Приобрести его можете в нашем каталоге на следующей странице.

— Чем отличается User CAL от Device CAL можете ознакомиться в нашей прошлой статье.

— Для активации ключа RDS теперь можете воспользоваться следующей инструкцией по настройке и активации данного функционала в нашей прошлой статье. Инструкция является универсальной, начиная от 2012r2 версии до 2022 версии Windows Server.

7) Следующим шагом рассмотрим как добавить пользователя в Windows Server, в случае, если Вы не устанавливали на сервер домен (DNS). С созданными пользователями Вы можете под их данными подключаться к серверу по RDP.

Заходим в Active Directory => Средства => Управление компьютером => Локальные пользователи и группы => Пользователи => Новый пользователь.

Задаем имя пользователя, можете так же указать его должность, или краткое описание. Обязательно задаем ему пароль для входа. При желании можете установить пункты запрета на смену пароля пользователю и отключение срока действия пароля.

Пользователь создан. Нажав на него двойным кликом курсором мыши можете задать пользователю более детальные настройки, при необходимости.

Эта большая инструкция посвящена особенностям установки, настройки и эксплуатации фермы терминальных серверов на базе роли Remote Desktop Services (RDS) в Windows Server. Статья поможет вам развернуть службы удаленных столов на Windows Server 2022, 2019 и 2016 в домене Active Directory.

Содержание:

  • Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2
  • Создаем новую конфигурацию Remote Desktop Services в Windows Server
  • Создаем коллекции Remote Desktop Services в Windows Server
  • Публикация RemoteApp в Remote Desktop Services
  • Настройка фермы Remote Desktop services с помощью PowerShell

Компоненты Remote Desktop Services в Windows Server 2022/2016/2016/2012R2

В состав роли RDS в Windows Server входя следующие компоненты:

  • Remote Desktop Session Host (RDSH) – узлы сеансов RDS. Основные рабочие лошадки фермы RDS, на которых работают приложения пользователей;
  • Remote Desktop Connection Broker (RDCB) – посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;
  • Remote Desktop Gateway (RDGW) – обеспечивает безопасный доступ к сервисам RDS из Интернета;
  • RD Web Access (RDWA) – веб интерфейс для доступа к рабочим столам, программам RemoteApp;
  • Remote Desktop Licensing (RD Licensing) — служба лицензирования, управляет RDS лицензиями (CAL) пользователей.

В нашем небольшом стенде будут всего три сервера со следующим распределением ролей

  • msk-rds1.winitpro.ru
    — RDSH
  • msk-rds2.winitpro.ru
    – RDSH
  • msk-rdsman.winitpro.ru
    – RDSH, RDWA, RDCB, RD License

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

  1. Установите одинаковую версию Windows Server на все сервера, настроить их, и добавить в один домен AD;
  2. Откройте консоль ADUC (
    dsa.msc
    ) и переместите все хосты с ролью RDSH в одну OU в AD. Так будет удобнее применять единые настройки через GPO;
  3. Создайте в домене группу для RDSH серверов (например,
    msk-rdsh
    ) и добавьте в нее все хосты;
  4. Если вы хотите использовать диски User Profile Disk (UPD) для хранения профилей пользователей RDS (или перемещаемые профили), нужно создать на файловом сервере сетевой каталог, в котором они будут хранится (желательно расположить этот каталог на отказоустойчивом файловом кластере Windows Server). Предоставьте права Full Control на этот сетевой каталог для группы
    msk-rdsh
    .

Создаем новую конфигурацию Remote Desktop Services в Windows Server

Рассмотрим, как создать и настроить RDS конфигурацию с помощью графического интерфейса Server Manager.

Откройте Server Manager и добавьте все планируемые RDS сервера в консоль. Щелкните All Server -> Add servers.

добавить сервера Windows Server для установки ролей Remote Desktop Services

Теперь в меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment –> Session-based deployment. RDS - standard deployment

Режим Quick Start используется для развертывания всех компонентов RDS на одном сервере. В RDS ферме минимум может быть один сервер, который совмещает все роли RDS (RD Session Host, RD Web Access и RD Connection broker). Но такая конфигурация не обеспечивает отказоустойчивость и балансировку нагрузки в службах удаленных рабочей столов Windows Server.

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

  • RD Connection Broker
    msk-rdsman
  • RD Web Access
    msk-rdsman
  • RD Session hosts
    msk-rdsman, msk-rds1, msk-rds2

установка роли RD Connection Broker

Вы можете распределить RDS роли по серверам в любой другой конфигурации.

Поставьте галку Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.

установка ролей Remote Desktop Services на сервера фермы RDS

Итак, ваша ферма RDS создана.

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

Для управления вашим развертыванием RDS нужно перейти в раздел Server Manager -> Remote Desktop Services. На вкладке Overview показана текущая конфигурация RDS фермы.

Чтобы изменить настройки RDS фермы выберите Tasks -> Edit Deployment Properties в разделе Deployment Overview.

обзор конфигурации RDS в Server Manager

Здесь можно изменить:

  • Параметры RD Gateway;
  • Адрес сервер сервера лицензирования и тип пользовательских лицензий RDS CAL (per user/per device);
  • Посмотреть URL адреса RD Web Access;
  • Добавить SSL сертификаты для служб RDS (в инструкции мы пропустим этот пункт).

параметры сервера лицензирования RDS и типов лицензий

Для построения отказоустойчивой фермы Remote Desktop Services нужно обеспечить высокую доступность роли RD Connection Broker. Это достигается за счет запуска нескольких экземпляров RDCB (Active/Active) на разных серверах с общей базой данных SQL, в которой хранится конфигурация брокера подключений. Для обеспечения высокой доступности SQL базы RDCB ее можно размесить в группе высокой доступности SQL Server Always On. Ранее мы публиковали подробный гайд по настройке RDS Connection Broker с высокой доступностью.

Создаем коллекции Remote Desktop Services в Windows Server

Следующий этап настройки – создание коллекций сеансов RDS. Коллекции Remote Desktop позволяют разделить хосты в ферме RDSH на отдельные группы или создать разный набор настроек и доступных приложений Remote App для разных групп пользователей.

Перейдите в раздел Collections, выберите Edit -> Create Session Collection.

Создать коллекцию на RDS сервере

Здесь нужно задать:

  1. Имя коллекции RDS:
    rds-Msk-Managers
  2. Выберите какие хосты RDSH будут обслуживать пользователей коллекции (один RDSH хост может находиться в одной коллекций; не рекомендуется объединять в одну коллекцию сервера с разными версиями Windows Server); добавить в коллекцию хосты RD Session host
  3. На вкладке User Groups указываются группы пользователей, которым разрешено подключаться к коллекции. Уберите из групп Domain users и добавьте вашу группу (msk-Managers);
  4. На вкладке User Profile Disk нужно указать, хотите ли вы использовать формат UPD для хранения профилей пользователей (Enable user profile disks). В поле Location of user profile disks укажите UNC путь к сетевому каталогу(например,
    \msk-fs01mskrds_upd
    ), в котором будут хранится профили пользователей в форматер UPD виртуальных дисков (в этом случае при входе на любой сервер коллекции RDS, пользователь будет всегда загружать свой профиль) и максимальный размер диска (20 Гб по умолчанию); Enable user profile disks включить перемещаемые диски для пользователей RDS
  5. Нажмите Create чтобы создать новую RDS коллекцию;
  6. Убедитесь, что в указанном каталоге создался UPD файл с шаблоном профиля пользователя UVHD-template.vhdx.

Чтобы задать параметры коллекции RDS, выберите ее и нажмите Tasks -> Edit Properties.

изменить натсройки коллекции RDS

Здесь можно изменить базовые параметры коллекции (имя, описание, группы доступа) и ряд других важных настроек.

В разделе Session можно задать параметры переподключения/ автоматического отключения простаивающих RDP сессий (подробнее рассматривалось в статье Настройка таймаутов для RDP сессий).

таймауты отключения пользователей RDS

На вкладке Security можно выбрать настройки безопасности (Negotiate, RDP Security level или SSL/TLS) и шифрования (Low, High, Client compatible или FIPS compliant) для сессий RDP. Здесь также можно включить/отключить Network Level Authentication для RDP.

параметры безопасности RDP подключений в коллекции RDS

В секции Load Balancing можно изменить веса (
Relative Weight
) RDSH хостов в вашей ферме. Если характеристики серверов (RAM, CPU) в коллекции сильно отличаются, нужно задать меньший вес для менее производительных серверов. В этом случае RDCB будет распределять сессии пользователей по серверам в зависимости от их веса.

load balancing - настройка весов серверов RDSH

На вкладке Client Settings можно указать, какие устройства пользователям разрешено пробрасывать в RDP сессию. Например, вы можете разрешить/запретить пробрасывать с локального компьютера пользователя в RDS сеанс принтера, сетевые диски, аудио устройства, буфер обмена. RDS настройки перенаправления устройств

В разделе User Profile Disks можно более тонко настроить параметры UPD профилей пользователей. Можно исключить из синхронизации определенные папки или файлы. Это позволит уменьшить размер профиля UPD в сетевом каталоге и увеличить скорость загрузки профиля (не забывайте, что он загружается по сети из сетевой папки при входе пользователя).

Настройка и эксплуатация UPD обычно гораздо проще, чем использование перемещаемых профилей или folder redirection. Один UPD профиль не может использоваться в разных коллекциях RDS.

исключение в User Profile Disks RDS

Для уменьшения размера UPD диска пользователя можно использовать стандартный PowerShell командлет
Resize-VHD
, используемый для изменения размеров виртуальных VHDX дисков Hyper-V.

В секции HOST SERVERS коллекции RDS можно перевести любой сервер фермы в режим обслуживания RDSH (Drain Mode). Для этого щелкните по нему и выберите Do not allow new connection. В результате Connection Broker не будет отправлять новые подключения пользователей на этот сервер. В таком режиме вы можете спокойно установить обновления Windows или обновлять на сервере приложения, не затрагивая пользователей.

перевести хост RDSH в режим обслуживания

Здесь же можно добавить/удалить RDS Host из коллекции.

Если RDSH хост вышел из строя и не доступен, его можно корректно удалить из фермы Remote Desktop Services по этой инструкции.

Публикация RemoteApp в Remote Desktop Services

RemoteApps – это опубликованные для пользователей приложения на RDS серверах. Благодаря RemoteApp можно использовать приложения, установленные на терминальном RDSH сервере так, как будто оно запущено непосредственно на компьютере пользователя. Пользователь не видит всего рабочего стола Windows Server RDS и работает только с теми программами, которые опубликовал для него администратор. На компьютере пользователя будет отображаться только окно запущенной на RDS программы.

Если вы не создаете RemoteApp, пользователи будут работать непосредственно на собственных рабочих столах на Windows Server. Поэтому не забудьте скопировать все необходимые пользователю ярлыки приложений в папку C:UsersPublicDesktop. Файлы из этой папки будут отображаться на рабочем столе всех пользователей. Если вы устанавливаете на RDSH пакет MS Office 365, обратите внимание что Office нужно разворачивать в режиме SharedComputerLicensing.

RemoteApp приложения создаются в настройках коллекций RDS. Выберите пункт Tasks -> Publish RemoteApp Programs в секции REMOTEAPP PROGRAMS.

Опубликовать программу RemoteApp Programs из консоли Server Manager

Windows отобразит все приложения, установленные на текущем сервере. Можете выбрать одно из них. Если вашего приложения нет в списке, но оно установлено на других хостах RDS, нажмите кнопку Add и укажите полный путь к исполняемому файлу приложения (exe, bat, cmd и т.д.).

Указать программу в RemoteApp на RDS

Опубликуйте приложение RemoteApp.

Затем в настройках RemoteApp можно указать дополнительные параметры приложения.

  • Нужно ли показывать опубликованное RemoteApp приложение в веб интерфейсе RD Web Access;
  • Задать параметры запуска (аргументы) приложения (Command-line Parameters -> Always use the following command-line parameters);
  • На вкладке User Assignment можно дополнительно ограничить каким группам пользователей разрешено запускать приложение.

параметры remote app в RDS коллекции

Если вы хотите изменить иконку опубликованного RemoteApp, нужно открыть следующую папку на сервере с ролью RDS Connection Broker:

C:WindowsRemotePackagesCPubFarmsrds-Msk-ManagersCPubRemoteApps

смена иконки для remoteapp

Замените иконку приложения другим ico файлом.

Теперь пользователь может запустить RemoteApp приложение из RD Web Access (
https://msk-rdsman.wintpro.ru/RDWeb
) или с помощью специального RDP файла.

запуск remoteapp с rdweb access

Для запуска опубликованного приложения RemoteApp, нужно добавить в RDP файл такие строки:

remoteapplicationmode:i:1
remoteapplicationname:s:putty
remoteapplicationprogram:s:"C:Toolsputty.exe"
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

Несколько полезных мелочей для удобной эксплуатации фермы RDS:

  • Для роли RDWeb можно настроить поддержку HTML5, это позволит пользователям подключаться к RDS серверам из любого браузера и ОС даже без клиента RDP;
  • На веб сервере RD Web Access можно опубликовать ссылку на смену истекшего пароля пользователя (по умолчанию при включенном NLA вы не сможете аутентифицироваться на RDSH с истекшим паролем пользователя Active Directory);
  • Инструкция для пользователей по смене пароля в RDP сессии;
  • Администратор может использовать теневые подключения RD Session Shadow для подключения/просмотра рабочего стола сеанса пользователя на сервере RDS;
  • Чтобы быстро найти, на каких RDS серверах есть сессии определенного пользователя, можно использовать PowerShell:
    Import-Module RemoteDesktop
    Get-RDUserSession -ConnectionBroker msk-rdsman.winitpro.ru | where {$_.UserName -eq "a.ivanov"} | Select HostServer
  • Вы можете использовать PowerShell скрипты для просмотра и анализа логов RDP подключений пользователей к серверам RDS;
  • Для дополнительной защиты можно настроить двухфакторную аутентификацию (2FA) пользователей на RDS серверах Windows с помощью сторонних средств.

Настройка фермы Remote Desktop services с помощью PowerShell

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

Следующие PowerShell команды для создания RDS фермы лучше запускать с другого на другом сервера, т.к. управляемые RDS хосты придется перезагружать.

Задайте имена серверов в вашей ферме RDS. В этом примере я установлю роли RDCB и RDS Licensing на отдельный сервер (в дальнейшем рекомендуется настроить отказоустойчивую конфигурацию RDCB).

$RDSH1 = "msk-rds1.winitpro.ru"
$RDSH2 = "msk-rds2.winitpro.ru"
$RDSCB = "msk-rdcb.winitpro.ru"
$RDSGW = "msk-rdsgw.winitpro.ru"
Import-Module RemoteDesktop

Установите RDS роли на сервера:

Add-WindowsFeature –ComputerName $RDSH1, $RDSH2 -Name RDS-RD-Server –IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Connection-Broker -IncludeManagementTools
Add-WindowsFeature –ComputerName $RDSGW -Name RDS-Web-Access, RDS-Gateway –IncludeManagementTools

Перезагрузите все хосты:

Restart-Computer -ComputerName $RDSH1,$RDSH2,$RDSCB,$RDSGW

Создайте новый инстанс RDSessionDeployment:

New-RDSessionDeployment -ConnectionBroker $RDSCB -SessionHost $RDSH1,$RDSH2 –Verbose

Добавить в ферму сервера RDWA и RDGW:

Add-RDServer -Server $RDSGW -Role RDS-WEB-ACCESS -ConnectionBroker $RDSCB
Add-RDServer -Server $RDSGW -Role RDS-GATEWAY -ConnectionBroker $RDSCB -GatewayExternalFqdn "rds.winitpro.ru"

Текущее распределение RDS ролей по серверам фермы можно вывести так:

Get-RDServer -ConnectionBroker $RDSGW

Установка роли лицензирования RDS:

Add-WindowsFeature –ComputerName $RDSCB -Name RDS-Licensing, RDS-Licensing-UI

Задайте режим лицензирования PerUser:

Invoke-Command -ComputerName $RDSCB -ScriptBlock {Set-RDLicenseConfiguration -Mode PerUser -LicenseServer $RDSCB -ConnectionBroker $RDSCB}

Add-RDServer -Server $RDSCB -Role RDS-LICENSING -ConnectionBroker $RDSCB

Добавить сервер лицензирования в доменную группу с помощью Add-ADGroupMember:

Add-ADGroupMember "Terminal Server License Servers" -Members "msk-rdcb$"

Если у вас есть сертификат для RDS можно его добавить в конфигурацию фермы (можно использовать бесплатный SSL сертификат Let’s Encrypt для вашего RDS хоста):

Path = "C:psRDSCert.pfx"
$Password = ConvertTo-SecureString -String "CertPAssddr0w11-" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Password -ConnectionBroker $RDSCB -Force

Информацию об установленных SSL сертификатах можно получить так:

Get-RDCertificate

Теперь можно создать коллекции RDS:

$CollectionName = "DEVdept"
New-RDSessionCollection –CollectionName $CollectionName –SessionHost $RDSH1,$RDSH2 –ConnectionBroker $RDSCB –CollectionDescription “Develovers”

Разрешить доступ к RDS серверам для групп:

$UserGroup [email protected]("WINITPROmsk-developers","WINITPROmsk_devops")
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup $UserGroup

Опубликовать приложение RemoteAPP:

New-RDRemoteapp -Alias GoogleChrome -DisplayName GoogleChrome -FilePath "C:Program Files (x86)GoogleChromeApplicationchrome.exe" -ShowInWebAccess 1 -CollectionName $CollectionName -ConnectionBroker $RDSCB

В статье мы рассмотрели, как установить и настроить ферму Remote Desktop Services на базе Windows Server 2019/2022 с помощью графического интерфейса Server Manager и с помощью PowerShell. За рамками статьи осталось более подробное описание ролей RD Web Access и RD Gateway. Мы рассмотрим настройку этих ролей отдельно в следующих статьях.

Currently, you can test Windows Server 2022 by installing the latest preview builds (Like Windows Server Preview Build 20344). As you might know, I am a huge fan of the Windows Terminal, and since Windows Server 2022 by default does not include the Windows Terminal, I wanted to quickly show you how you can install the Windows Terminal on Windows Server 2022.

How to install Windows Terminal on Windows Server 2022

Luckily we can simply download the MSIX bundle from the Windows Terminal GitHub release page. You can also run the following PowerShell command to download the file (Make sure you change the Uri to the latest version).

Invoke-WebRequest -Uri https://github.com/microsoft/terminal/releases/download/v1.7.1091.0/Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle -outfile Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle

Now you can run the following PowerShell command to add the msixbudle and install the Windows Terminal on Windows Server 2022.

Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle

In my example this would be:

Add-AppxPackage -Path .Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle

Keep in mind, when you install the Windows Terminal manual like this, it will not automatically update itself.

Install Windows Terminal on Windows Server 2022

Install Windows Terminal on Windows Server 2022

Conclusion

I hope this blog post is helpful. If you have any questions, feel free to leave a comment below. Also if you want to make out more of your Windows Terminal, check out my blogs:

  • My Customized Windows Terminal Settings.json
  • My Windows Terminal Color Schemes
  • Install the new Windows Terminal for Windows 10
  • How to open Windows Terminal from Command Prompt or Run
  • How to Change the Windows Terminal Background Image
  • How to SSH into an Azure VM from Windows Terminal Menu
  • Add a PowerShell Remote Session in Windows Terminal

If you want to provide feedback for Windows and Windows Server, the team wants to hear from you!

The most important part of a frequent release cycle is to hear what’s working and what needs to be improved, so your feedback is extremely valued. For Windows Server, use your registered Windows 10 Insider device and use the Feedback Hub application.  In the app, choose the Windows Server category and then the appropriate subcategory for your feedback. In the title of the Feedback, please indicate the build number you are providing feedback on as shown below:

     [Server #####] Title of my feedback

Have fun!

Tags: install, Microsoft, MSIX, Terminal, Windows Server, Windows Server 2022, Windows Terminal Last modified: May 4, 2021

About the Author / Thomas Maurer

Thomas works as a Senior Cloud Advocate at Microsoft. He engages with the community and customers around the world to share his knowledge and collect feedback to improve the Azure cloud platform. Prior joining the Azure engineering team, Thomas was a Lead Architect and Microsoft MVP, to help architect, implement and promote Microsoft cloud technology.
 
If you want to know more about Thomas, check out his blog: www.thomasmaurer.ch and Twitter: www.twitter.com/thomasmaurer

Updated 1/30/2022 using VCLib installation notes from https://github.com/microsoft/terminal/issues/3097#issuecomment-1345242698

Microsoft recommends installing the Windows Terminal through the Windows Store, but if you are using a server where you do not wish to login to the Windows Store application, you can install Windows Terminal using the MSIX bundle provided on Windows Terminal GitHub repository or by using Chocolatey.

You can use these same steps to install Windows Terminal on Windows 10.

Prerequisites

  • You must be running Windows 1903 (build >= 10.0.18362.0) or later to run Windows Terminal.

Install MSIX using PowerShell

Get MSIX Bundle

You can download the Windows Terminal MSIX bundle manually from GitHub or you can download it using a PowerShell cmdlet.

Download Windows Terminal MSIX bundle from GitHub: https://github.com/microsoft/terminal/releases

PowerShell cmdlet to download MSIX bundle:

$tempWinTermAspxPath = Join-Path $HOME "DownloadsMicrosoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle"

Invoke-WebRequest -Uri https://github.com/microsoft/terminal/releases/download/v1.16.10261.0/Microsoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle `
    -Outfile $tempWinTermAspxPath

1/30/2022: Error: A Prerequisite for an install could not be satisfied

If you receive the error message below when trying to install the msixbundle, you may need to to install the C++ UWP Desktop framework package.  I found this issue mentioned on GitHub.

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CFD, A Prerequisite for an install could not be satisfied.
Windows cannot install package Microsoft.WindowsTerminal_1.16.10262.0_x64__8wekyb3d8bbwe because this package is not
compatible with the device. The package requires OS version 10.0.22000.0 or higher on the Windows.Desktop device
family. The device is currently running OS version 10.0.20348.1487.

This PowerShell is from the issue comment on GitHub.

$tempVCLibsPath = Join-Path -Path $HOME -ChildPath "DownloadsMicrosoft.VCLibs.x64.14.00.Desktop.appx"

Invoke-WebRequest -Uri "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx" -OutFile $tempVCLibsPath

Add-AppxPackage -Path $tempVCLibsPath

Install MSIX Bundle

If you’re using PowerShell 7+, you will need to run Import-Module Appx -UseWindowsPowerShell before executing Add-AppxPackage.

Add the MSIX bundle and install Windows Terminal using PowerShell by executing this in a UAC elevated PowerShell console:

# If you're using PowerShell 7+, then import Appx
Import-Module Appx -UseWindowsPowerShell

Add-AppxPackage -Path .Microsoft.WindowsTerminal_<versionNumber>.msixbundle

In our example, we downloaded the v1.16.10262 version, so our cmdlet would look like this:

$tempWinTermAspxPath = Join-Path $HOME "DownloadsMicrosoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle"

Add-AppxPackage -Path $tempWinTermAspxPath

Note: When you install the Windows Terminal manually like this, it will not automatically update itself.

Install through Chocolatey

If you’re using Chocolatey as your package manager, Windows Terminal also has a chocolatey package.

Install Chocolatey

Execute this PowerShell cmdlet in a UAC elevated PowerShell console:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Install Windows Terminal

choco install microsoft-windows-terminal -y

Update Windows Terminal

choco upgrade microsoft-windows-terminal

Windows Terminal — это удобный и современный терминал от Microsoft, первый выпуск которого состоялся в 2019 году. Одна из проблем, с которой можно столкнуться при попытке ознакомиться с терминалом, что он устанавливается только через Microsoft Store (магазин). Проблему с магазином можно обойти.

Еще одна проблема, по которой терминал нельзя установить на определенные редакции ОС в том, что он использует фреймворк «XAML Islands» для GUI распакованный через WinRT. Этот фреймворк появился в 2018 году и был включен в Windows 10 через обновления в мае 2019 года. В остальные релизы, а именно в Windows 7, 8, 2019, 2012, 2016, фреймворк не попал и использовать терминал на них нельзя.

В новых серверных версиях Windows (на данный момент 2022) этот фреймворк установлен, а на 11-ой версии клиентской ОС установлен сам терминал.

Попытки установить Windows Terminal на не поддерживаемые ОС, закончатся следующими ошибками:

  • ERROR: This package requires at least Windows 10 version 1903/OS build 18362.x.
  • Add-AppxPackage: Deployment failed with HRESULT: 0x80073D19, An error occured because a user was logged off.
  • 0x80073CFD, App installation failed with error message: Windows cannot install package Microsoft.WindowsTerminale because this package is not compatible with the device. The package requires OS version 10.0.18362.0 or higher on the Windows.Mobile device family.
  • Add-AppxPackage : Сбой развертывания с HRESULT: 0x80073CFD, Не удалось выполнить необходимое условие для установки. Windows не удается установить пакет  Microsoft.WindowsTerminalPreview_1.15.1862.0_x64__8wekyb3d8bbwe, так как он не совместим с устройством.

Ошибка 0x80073CFD, в некоторых случаях, может быть решена если у вас не установлены обновления или вы можете попробовать использовать более раннюю версию терминала.

Следующая ошибка решается за счет установки одного из фреймворков (показано далее):

  • Add-AppxPackage : Сбой развертывания с HRESULT: 0x80073CF3, Пакет не прошел проверку обновлений, зависимостей или конфликтов.

Установка

Перед установкой терминала нужно так же установить фреймворк VCLibs. Именно из-за его отсутствия может появится ошибка 0x80073CF3. 

Сам фреймворк можно найти на странице Microsoft. На странице будут версии под разные процессоры. В моем случае это ‘Microsoft.VCLibs.x64.14.00.Desktop.appx’. После скачивания его можно установить следующим способом:

Add-AppxPackage -Path "C:UsersАдминистраторDownloadsMicrosoft.VCLibs.x64.14.00.Desktop.appx"

Сам пакет с Windows Terminal можно найти на странице GitHub. В своем случае я скачивал версию для Windows 10. В моем случае скаченный файл называется «Microsoft.WindowsTerminal_Win10_1.14.1861.0_8wekyb3d8bbwe.msixbundle», но из-за выхода более новых версий он может отличаться. Установить этот пакет можно так же как и предыдущий:

Add-AppxPackage -Path "C:UsersАдминистраторDownloadsMicrosoft.WindowsTerminal_Win10_1.14.1861.0_8wekyb3d8bbwe.msixbundle"

Теги:

#powershell

Понравилась статья? Поделить с друзьями:
  • Сервер не найден на компьютере что делать windows xp
  • Сервер терминалов на windows server 2019 номер соглашения
  • Сервер не найден microsoft internet explorer windows xp
  • Сервер терминалов на windows server 2019 настройка
  • Сервер не в сети принтер windows 7