Как настроить remote desktop services

Установка роли Remote Desktop Services Host (RDSH) на Windows Server 2019 в рабочей группе

В этой статье описано, как установить и настроить роль терминального сервера Remote Desktop Session Host в рабочей группе (без домена Active Directory) и без всех дополнительных ролей (Connection Broker, Remote Desktop Web Access, RDS Gateway).

Windows Server с ролью RDSH (Remote Desktop Session Host) позволяет одновременно подключаться к серверу по RDP нескольким пользователям (по умолчанию в Windows Server разрешены только 2 административных RDP подключения). Для каждого пользователя создается отдельная сессия и он получает доступ к персональному рабочему столу

Если вы планируете используете отдельный RDS сервер в рабочей группе, имейте в виду, что его функциональность ограничена. Он не может масштабироваться до полноценной RDS фермы, нельзя создавать отдельные коллекцию или RemoteApp, нет брокера, нельзя использовать User Profile Disks для профилей пользователей, отсутствуют средства централизованного управления, при проведении операций обслуживания RDP сервис будет недоступен.

Установка роли Remote Desktop Services в Windows Server 2019

Предполагаем, что вы уже установили сервер с Windows Server и выполнили базовые настройки (ip адрес, имя сервера, время/дата, установили обновления и т.д.). Теперь можно установить службу RDS.

Для этого можно использовать Server Manager или PowerShell.

Для установки службы RDS через Server Manager нужно выбрать Role-based or feature-based installation -> Server roles -> Remote Desktop Services -> в компонентах RDS выберите службы Remote Desktop Session Host и Remote Desktop Licensing (согласитесь с установкой компонентов RSAT для управления этими ролями).

Также вы можете установить нужные роли Windows Server с помощью PowerShell:

Install-WindowsFeature -Name RDS-Licensing, RDS-RD-Server –IncludeManagementTools

Проверьте, какие RDS роли установлены на сервере:

Get-WindowsFeature -Name RDS* | Where installed

Настройка роли Remote Desktop Licensing, добавление RDS лицензий (CAL)

Следующий этап – настройка роли Remote Desktop Licensing, которая обеспечивает лицензирование RDP подключений пользователей к вашему RDS серверу. Вы можете установить и активировать роль Remote Desktop Licensing на данном хосте (если он у вас один), либо можете разместить роль RDLicensing на другом сервере. Один сервер с ролью RDS Licensing можете выдавать лицензии неограниченному количеству RDSH хостов.

Если вы решили использовать локальный сервер RDLicensing, активируйте сервер лицензий RDS и установите клиентские лицензии (RDS CAL) согласно гайду по ссылке.

Настройка роли Remote Desktop Session Host в рабочей группе

Перейдите в Control Panel -> System and Security -> Administrative Tools -> Remote Desktop Services -> Remote Desktop Licensing Diagnoser. Обратите внимание, что ваш сервер еще не настроен на получение RDS CAL лицензий с сервера лицензирования. Об этом свидетельствуют надписи:

Если вы не нацелите ваш RDSH сервер на сервер лицензирования RDS, который может выдать пользователям лицензии, ваш сервер будет находится в триальном режиме. В этом режиме службы RDS работают в течении всего 120 дней (при каждом подключении в трее будет появляться сообщение “ Служба удаленных рабочих столов перестанет работать через xxx дней ”). После окончания grace периода ваши пользователи не смогут подключится к RDS с ошибкой:

Основной недостаток роли Remote Desktop Services в Windows Server 2019 при установке в рабочей группе – у вас по сути нет никаких удобных инструментов управления ролью RDS. Любые настройки роли RDSH придется выполнять через редактор локальных групповых политик gpedit.msc .

В локальной GPO нужно настроить параметры лицензирования RDS:

  1. Перейдите в раздел GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing;
  2. Установите параметра Set the Remote Desktop licensing mode: Per Device;
  3. В Use the specified Remote Desktop license servers укажите адрес сервера, на котором установлен сервер RDLicensing. Если сервер лицензии установлен локально, укажите localhost или 127.0.0.1;
  4. Обновите локальные политики, и запустите Remote Desktop Licensing Diagnoser. Убедитесь, что он видит ваши RDS CAL.
Читайте также:  Warface не работает сглаживание

Дополнительно в локальных GPO вы можете настроить лимиты (таймауты) на длительность RDP сессий и правила отключения пользователей при неактивности.

Теперь нужно создать для пользователей локальные учетные записи на RDS сервере, под которыми они будут аутентифицироваться. Можно создать пользователей с помощью оснастки lusrmgr.msc или через PowerShell:

$UserPassword = ConvertTo-SecureString «Pa$$dr0w!!» -AsPlainText -Force
New-LocalUser «AIvanov» -Password $UserPassword -FullName «Andrey Ivanov»

Чтобы разрешить пользователю подключаться к серверу через службы Remote Desktop Services, нужно добавить аккаунт в локальную группу Remote Desktop Users. Добавьте пользователей вручную через консоль управления группами или через PowerShell:

Add-LocalGroupMember -Group «Remote Desktop Users» -Member AIvanov

Теперь пользователи могут попробовать со своих компьютеров подключится к вашему RDS хосту с помощью клиента mstsc.exe (или любого другого RDS клиента). Проверьте, что к серверу одновременно может подключится более двух активных RDP сессий .

При первом входе устройству пользователя выдается временная лицензия (особенности RDS Per Device лицензирования). При втором входе выдается постоянная лицензия, которая появится в консоли Remote Desktop Licensing Manager. Лицензия выдается на срок от 52 до 89 дней (случайное число).

Если у вас исчерпаны Per Device лицензии, вы можете вручную отозвать лицензии для некоторых устройств пользователей. Воспользуйтесь консоль RDSLicensing или таким PowerShell скриптом:

$licensepacks = Get-WmiObject win32_tslicensekeypack | where <($_.keypacktype -ne 0) -and ($_.keypacktype -ne 4) -and ($_.keypacktype -ne 6)>
# общее количество лицензий типа per device
$licensepacks.TotalLicenses
# количество лицензий, выданных устройствам
$TSLicensesAssigned = gwmi win32_tsissuedlicense | where <$_.licensestatus -eq 2>
# имя компьютера, для которого нужно отозвать лицензию
$compname=»MSK-PC16″
$RevokePC = $TSLicensesAssigned | ? sIssuedToComputer -EQ $compname
$RevokePC.Revoke()

Если вам нужно подключиться в RDP сессию пользователя, вы можете воспользоваться режимом теневого подключения RDS (он работает на RDSH в рабочей группе).

Источник

Настраиваем Windows Server так, чтобы у вас все было, при этом вам за это ничего не было


Parallels Parallels Remote Application Server (RAS) представляет из себя RDP с человеческим лицом, но некоторые его фишки должны быть настроены на стороне Windows Server (либо в виртуальных машинах, которые вы используете). Под катом рекомендации Матвея Коровина из команды техподдержки Parallels о настройках Windows Server при использовании RAS.

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

Часть первая. «Запрещательная»

Прячем элементы эксплорера (Диски, кнопка «Пуск» и тд)
По умолчанию при подключении к терминальному серверу \ виртуальной машине пользователь, добавленный в группу «Пользователи удаленного рабочего стола» увидит полностью функциональный рабочий стол.

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

Даже если установить правильное разграничение доступа и тем самым обезопасить себя пугливый юзверь все равно будет путать диски терминального сервера со своими локальными дисками и в ужасе звонить в тех поддержку. Наилучшим решением такой ситуации будет спрятать локальные диски терминального сервера от пытливого взора энд юзера.

Расположение групповой политики:

User Configuration\Policies\Administrative Templates\Windows Components\Windows Explorer

И измените значение следующих опций:

• Hide these specified drives in My Computer — изменив значение этой опции, вы можете убрать упоминание конкретных дисков из меню компьютера и всех связанных меню, однако это не запрещает доступ к дискам. Если пользователь задаст абсолютный адрес диска, то он откроется.
• Prevent access to drives from My Computer — запретить доступ к конкретным дискам. При включении этой опции доступ к дискам будет ограничен, но диски будут отображены в file explorer.

Что еще можно спрятать от пользователя, используя эту групповую политику:

• Remove Run menu from Start Menu – при активации убирает кнопку «Пуск» из меню
• Remove Search button from Windows Explorer – здесь все просто: поиск в эксплорере будет недоступен
• Disable Windows Explorer’s default context menu – это функция лишает пользователя возможности вызывать менюшку правым кликом мыши (можно купить старых мышек от мака и сэкономить на одной кнопке)

Читайте также:  Zabbix не работает действие

После написания этой части проснулась просто-таки депутатская страсть к запретам. На этом фоне стоит рассказать вам, какими способами можно запретить пользователю все.

Запрещаем использование командной строки (даже если пользователь сможет открыть CMD ему останется просто любоваться черным окошком с уведомлением о запрете доступа)

Расположение групповой политики:

User Configuration → Policies → Administrative Templates → System → Prevent access to the command promt.

Меняем значение на enabled.

Опция Disable the command prompt script processing also запрещает пользователю выполнять скрипты.

Есть один нюанс: если у вас настроены логон скрипты при включении этой опции, они выполняться не будут.

Убираем кнопки выключения \ перезагрузки \ сна (будет обидно, если удаленный пользователь случайно выключит терминальный сервер)

Расположение групповой политики:

User Configuration → Administrative Templates → Start Menu and Taskbar → Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate Commands

При включении этой опции пользователь сможет только заблокировать сессию или разлогиниться из нее.

Запрещаем Автозапуск «Управление сервером» при логине
Расположение групповой политики:

Computer Configuration → Policies → Administrative Templates → System → Server Manager → Do not display Server Manager automatically at logon

Меняем значение на enabled.

Запрещаем запуск PowerShell
Расположение групповой политики:

User Configuration → Policies → Administrative Templates → System → Don’t run specified Windows applications

Включаем эту политику и добавляем туда следующие приложения
powershell.exe and powershell_ise.exe

Этой политикой можно запретить запуск любых установленных (а также не установленных) приложений.

Прячем элементы панели управления
Расположение групповой политики:

User Configuration → Administrative Templates → Control Panel → Show only specified Control Panel items.

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

Запрещаем запуск редактора реестра
Расположение групповой политики:

User Configuration → Policies → Administrative Templates → System → Prevent access to registry editing tools

Меняем значение на enabled.

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

Для достижения этой цели нам нужно создать групповую политику добавления дополнительных ключей в реестре Windows:

Расположение групповой политики:

User Configuration\Preferences\ Windows Settings\Registry
Кликаем правой кнопкой мыши по Registry затем New затем Registry item

Добавляем новый REG_DWORD параметр RestrictRun со значением 1 в ключ реестра
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\

Теперь пользователю запрещено запускать любые приложения кроме системных.

Как запретить ему пользоваться CMD и Power Shell описано выше.

Если вы все-таки решите (исключительно по доброте душевной) разрешить пользователям запуск каких-либо приложений, их нужно будет добавить в «разрешительный список» путем создания в ключе

Значением типа string, используя порядковый номер разрешаемой программы в качестве имени (нумерация как это не странно начинается с 1), и именем разрешаемой программы в качестве значения.

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun]
String Name:«1»=«notepad.exe»
String Name «2»=«calc.exe»

При такой конфигурации пользователь сможет запустить только блокнот и калькулятор.

На этом хочется закончить «Запрещательную» часть. Конечно, можно упомянуть еще некоторое количество «Низя», но все это настраивается через Parallels Client и встроенные политики Parallels RAS.

Часть вторая. «Время и прочая романтика»

Установка временных лимитов для удаленных сессий

Бывает, что пользователь запускает приложение в фоне и может даже не пользоваться им. Если для обычных приложений это не страшно, то запущенное в фоне опубликованное приложение / рабочий стол занимает лицензию, а лицензии, как бы дико это не звучало для России, стоят денег.

Для решения этого вопроса умные люди из Microsoft придумали различные статусы терминальных сессий и временные лимиты для них.

Какие бывают статусы терминальных сессий:

Читайте также:  Почему не работает микшерный пульт

Active – сессия активна и в ней что-то происходит. Пользователь двигает мышкой, нажимает на кнопки и создает имитацию бурной деятельности
IDLE – соединение есть, сессия запущена, приложение работает, но пользователь активности не проявляет
Disconnected – пользователь нажал крестик и отключился. Объяснять конечному пользователю, что за зверь логоф и чем он питается — бесполезно.

Наиболее целесообразно устанавливать временные рамки на IDLE и Disconnected сессий.
В них ничего не происходит, а лицензии занимаются.

Добиться этого мы можем опять-таки, используя групповые политики.

Расположение групповой политики:

User Configuration → Policies → Administrative Templates Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits

В этой ветке есть несколько опций. Давайте разберем их все:

Set time limit for active but idle Remote Desktop Services sessions

Максимальное время работы для Active сессий.

Set time limit for active Remote Desktop Services sessions

Максимальное время работы для IDLE сессий.

Set time limit for disconnected sessions

Максимальное время работы для disconnected сессий.

End session when time limits are reached

Если установить эту политику в Enabled статус, то по достижению временного лимита сессии будут завершаться, а не отключаться.

Настройка временных лимитов – важный шаг для оптимизации работы сервера и оптимизации затрат на ПО.

Установка времени логина для пользователей или скажем нет переработкам
У каждого из нас есть рабочий день, а также утро, вечер и ночь. Но Британские (или Мальтийские) ученые недавно выяснили, что от работы, оказывается, можно заболеть или даже умереть. Работа — это очень сильный и опасный наркотик, поэтому в ярой заботе о любимых пользователях мы должны ограничить им время, когда они могут логиниться на сервер. А то надумают тоже работать из дома, отпуска и по выходным. И помогут нам в этом не групповые политики. Настройка времени работы находится в свойствах пользователя. Где-то далеко в начале этой статьи я упоминал, что все манипуляции лучше производить со специально созданной группой пользователей Parallels RAS, так вот, на примере этой группы мы и разберем, как установить часы работы.

Идем в левый нижний угол нашего экрана, нажимаем кнопку пуск и печатаем dsa.msc
Откроется всеми любимая оснастка Active Directory Users and Computers.

Найдите созданную вами группу пользователей Parallels RAS кликните по ней правой кнопкой мыши и зайдите в свойства. Во вкладке Account будет опция Logon Hours в которой нужно выбрать разрешенные и запрещенные часы работы для группы.

Итог этого раздела:

1. Вы великолепны
2. Жизни пользователей спасены от переработки

Часть третья. «Интерактивная»

Используя опубликованные ресурсы, часто приходится не только запрещать все подряд на сервере, но и перенаправлять в удаленную сессию локальные ресурсы. И если с принтерами, сканерами, дисками, звуком и COM портами никаких сложностей не возникнет, Parallels RAS прекрасно их перенаправляет без дополнительных настроек со стороны Windows, то с перенаправлением USB устройств и веб камер все не так просто.

Для перенаправления данного типа оборудования нужно, чтобы звезды сошлись в правильном порядке не только на сервере, но и на клиентской машине:

На компьютере пользователя измените следующую групповую политику:

Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Connection Client → RemoteFX USB Device Redirection
Присвойте ей значение Enabled

Теперь в свойствах Parallels клиента (Connection Properties → Local Resources) вы сможете выбрать, какое именно из подключенных USB устройств должно быть перенаправлено на сервер.

Примечание: USB устройство может быть задействовано либо в опубликованном приложении, либо на локальном компьютере, но не одновременно и там, и там.

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

На этом хотелось бы завершить обзор настроек Windows, которые будут важны для работы Parallels RAS.

З.Ы. Таких длинных текстов писать не доводилось давно, отсюда огромная благодарность всем тем, кто осилил эту статью.

Источник

Оцените статью