Большинство администраторов терминальных серверов Windows заметили, что начиная с Windows Server 2012, на RDS серверах пропали оснастки управления tsadmin.msc (Remote Desktop Services Manager — Диспетчер служб удаленных рабочих столов) и tsconfig.msc (Remote Desktop Session Host Configuration — Конфигурация узла сеансов удаленных рабочих столов). Разработчики Microsoft решили, что большинством параметров сервера RDS можно управлять через Server Manager, консоль редактора групповых политик (gpedit.msc) или в настройках RDS коллекций. Однако все эти инструменты не настолько просты и удобны как старые остатки.
Разберёмся, как можно вернуть оснастки tsadmin.msc и tsconfig.msc на RDS серверах под управлением Windows Server 2016 (инструкция также к Windows Server 2019 и 2012 R2 окружению).
Для этого нам понадобится скопировать 6 файлов и 2 ветки реестра с любого сервера под управлением Windows Server 2008 R2 в аналогичный каталог C:WindowsSystem32 на Windows Server 2016. Скопируйте следующие 7 файлов:
- c:windowssystem32tsadmin.dll
- c:windowssystem32tsconfig.dll
- c:windowssystem32wts.dll
- c:windowssystem32tsconfig.msc
- c:windowssystem32tsadmin.msc
- c:windowssystem32entsconfig.resources.dll
- c:windowssystem32entsadmin.resources.dll
Затем на Windows Server 2008 R2 с помощью редактора regedit нужно экспортировать в файлы reg две ветки реестра:
- [HKEY_LOCAL_MACHINESOFTWAREMicrosoftMMCSnapInsFX:{80aaa290-abd9-9239-7a2d-cf4f67e42128}]
- [HKEY_LOCAL_MACHINESOFTWAREMicrosoftMMCSnapInsFX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}]
И по очереди импортировать эти ветки в реестр Windows Server 2016. Достаточно дважды щелкнуть по reg файлу и согласится с внесением изменений в реестр.
Осталось скопировать dll и msc файлы в каталог C:WindowsSystem32 на хосте с Windows Server 2016. Регистрировать файлы dll библиотек не обязательно.
- Комплект файлов с английской версии ОС — tsadmin-winsrv.zip
- с русской версии — tsadmin-winsrv_ru.zip
После этого попробуйте запустить нужную оснастку командами tsadmin.msc
:
В этой консоли вы можете удобно управлять сессиями пользователей – можно отключить нужную сессию, отправить сообщение, инициировать корректный logoff и т.д. Оснастка tsadmin позволяет выбрать сразу нескольких пользователей и выполнить нужное действие сразу со всеми.
Можно запустить консоль tsconfig.msc
:
В консоли tsconfig.msc можно гораздо проще и удобнее настроить базовые параметры RDS хоста: задать сервер лицензирования и тип RDS лицензий , добавить хост в ферму RD Connection Broker (настроить вес хоста в ферме), настроить уровни шифрования RDP, настроить автозапуск программы при входе пользователя в сеанс, настроить таймауты отключения неактивных сессий пользователей на отдельно стоящем RDS хосте и т.д.
Обратите внимание, что не обязательно ставить эти консоли на все RDS хосты. С помощью опции Connect to Remote Desktop Session Host Server вы можете подключится к любому другому RDS хосту в вашей сети.
Отметим, что с помощью консоли tsadmin.msc не получится подключиться к терминальной сессии пользователя (Ошибка: Access is denied). Подключение к RDS сессиям пользователей возможно по сценарию, описанному в статье RDS Shadow в Windows Server . Также в консоли tsconfig.msc в свойствах подключения RDP-Tcp отсутствует вкладка Security , через которую было удобно раздавать права группам сопровождения (без права администраторов) на подключение и управление RDP сессиями пользователей. Я использую следующую команду для предоставления определенной группе полные права на управления сессиями на сервере:
wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName ="RDP-Tcp") CALL AddAccount "domainsupport_rds",2
Для просмотра текущий разрешений можно использовать PowerShell:
get-WmiObject -Namespace "root/cimv2/terminalservices" -Class win32_tspermissionssetting