Большинство администраторов терминальных серверов 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:\Windows\System32 на Windows Server 2016. Скопируйте следующие 7 файлов:
- c:\windows\system32\tsadmin.dll
- c:\windows\system32\tsconfig.dll
- c:\windows\system32\wts.dll
- c:\windows\system32\tsconfig.msc
- c:\windows\system32\tsadmin.msc
- c:\windows\system32\en\tsconfig.resources.dll
- c:\windows\system32\en\tsadmin.resources.dll
Затем на Windows Server 2008 R2 с помощью редактора regedit нужно экспортировать в файлы reg две ветки реестра:
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{80aaa290-abd9-9239-7a2d-cf4f67e42128}]
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}]
И по очереди импортировать эти ветки в реестр Windows Server 2016. Достаточно дважды щелкнуть по reg файлу и согласится с внесением изменений в реестр.
Осталось скопировать dll и msc файлы в каталог C:\Windows\System32 на хосте с 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:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName ="RDP-Tcp") CALL AddAccount "domain\support_rds",2
Для просмотра текущий разрешений можно использовать PowerShell:
get-WmiObject -Namespace "root/cimv2/terminalservices" -Class win32_tspermissionssetting
Также всеми тремя оснастками (Remote Desktop Services Manager, Remote Desktop Session Host Configuration, RemoteApp Manager) можно стандартно подключаться с 2008 R2 к 2012 R2 с помощью команды Connect to Computer. Включая через инет между разными доменами.
Спс за дополнение, но как правило удобнее локально рулить. У меня 2 фермы RDS на 2008 и 2012 R2 географически разнесены, и удаленно консоли управления немного притормаживают
И как это делается? Можно подробнее? Что и куда вводить?
И сразу вопрос по архиву sadmin-win2012.zip
В статье рекомендуется экспортировать ветки реестра
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{80aaa290-abd9-9239-7a2d-cf4f67e42128}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{48128E8C-DFEA-4722-BD00-9D39C3B371F9}]
Почему в архиве сохранены другие?
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{80aaa290-abd9-9239-7a2d-cf4f67e42128}
FX:{80aaa290-abd9
Следующий вопрос
в статье рекомендуется сохранить 6 файлов
с:\windows\system32\tsadmin.dll
c:\windows\system32\tsconfig.dll
c:\windows\system32\wts.dll
c:\windows\system32\tsconfig.msc
c:\windows\system32\tsadmin.msc
c:\windows\system32\en\tsconfig.resources.dll
а теперь смотрим в архив и видим, что файлов, чудесным образом, надо 7 ?
tsadmin.dll
tsadmin.msc
tsconfig.dll
tsconfig.msc
wts.dll
en\tsadmin.resources.dll
en\tsconfig.resources.dll
Поправил статью, файлов нужно 7 и имя ветки реестра поправил.
Хорошо, что обратил внимание на несоответствия. Тут моя невнимательность — не более того 🙂
Я бы еще добавил комплект файлов от русской Win2008R2
Есть же уникумы, которые использую русские версии серверных продуктов 🙂
Поделиться нечем — у меня таких отродясь не водилось!
Да и не нужно приучать к плохому 🙂
см. почту 🙂
Добавил в статью ссылку на архив с файлами консолей от русской версии.
Спс, Алекс!
Решение супер, может кто знает как добиться вкладки Security в этой консоли?
на 2008r2 она есть
А как перенести оснастку remoteprograms.msc?
Nach TSADMIN und TSCONFIG fehlt nur mehr REMOTEPROGRAMS um den RDSH Admin der den MS Weg nicht mitgehen will glücklich zu machen:
PublishingWIzard.dll (System32) kopieren
de-DE/PublishingWizard.dll.mui (System32) kopieren
PublishSnapIn.dll (System32) kopieren
de/PublishSnapIn.resources.dll (System32) kopieren
remoteprograms.msc (System32) kopieren
Registrykeys von 2008 R2 exportieren und auf 2012 (R2) importieren:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{fc2a784c-94da-4493-abe4-f7f9dc25d16f}
А с чего было по-немецки писать?
У вас заработало? У меня эта оснастка так и не завелась
Заработало после добавления в реестр EEF2694B-B002-4b9e-8FC4-5F4A66F53A7B с того же места
статья и это заработало на 2022, но при создании msi выдает ошибку создания(
Да что бы «Кони» понимали 🙂
Все хорошо, но в оснастке tsconfig нет вкладки «безопасность».
А эти оснастки, как вы понимаете, и так «притянуты за уши»
Microsoft посчитал даже наличие этих оснасток лишним в 2012
Так что — чем богаты, то и пользуем 🙂
Не хватает вкладки — удалите оснастки и пользуйтес тем, что есть.
Большое спасибо автору, пол инета перерыл в поисках решения, уже бросать думал это дело. И все работает оказывается) Тестировал на 2016 сервере.
Здравствуйте. TSADMIN.msc и TSCONFIG.msc тоже работают в 2016. Но консоль remoteprograms не завелась. Вы пробовали ее запустить?
Добрый день! А можно всё таки как-нибудь сделать так, чтобы можно было подключаться через эту оснастку к удаленным рабочим столам? так неудобно ваще, хочется просто подключиться к открытому сеансу пользователя не вставая с места как в 2008р2))
Можно использовать LizardSystems Terminal Services Manager, который выполняет эти же функции. Персональная лицензия бесплатна.
Сработало на Windows 2016 !!!
У меня RDP подняты без AD, потому оснастки совсем никакой не было — все через политики настраивал, пока на вашу статью не наткнулся! 😉 Теперь стало интереснее!
Спасибо!
На Win2012R2 не сработало.
Помогло на Win 10 1903.
Друзья, кто может помочь, на 2019 не запускаются оснастки. При попытке вызвать из cmd — просто не запускаются, пишет: «tsadmin.msc» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.»
Если запустить не из system32:
Ошибка при запуске оснастки:
FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}
Не удалось загрузить файл или сборку «tsadmin, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35» либо одну из их зависимостей. Не удается найти указанный файл.
и текст трассировки еще прилагается.
Попробовал на 2019 и 2016. На 2012 — все заработало.
ЧЯДНТ? 🙁
Вопрос автору статьи, не подскажите команду для предоставления определенному юзеру, а не группе , полные права на управления сессиями на сервере
команда из вашей статьи wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName =»RDP-Tcp») CALL AddAccount «domain\support_rds»
Замените
domain\support_rds
на имя пользователя, напримерwinitpro\kbuldogov
имя пользователя просто user15, что через дробь писать?
TerminalName : Имя «TerminalName» не распознано как имя командлета, функции, файла сценария или выполняемой программы.
Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:86
+ … lServices PATH Win32_TSPermissionsSetting WHERE (TerminalName =»RDP-T …
+ ~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (TerminalName:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
указывайте имя домена или имя локального хоста (если пользователь локальны)
какой синтаксис написания имени локального хоста? Уж по всякому пробовал((
tsconfig.msc заработала отлично.
Не удается извлечь параметры с указанного компьютера.
Можно подключиться только к компьютеру с операционной системой Windows Serveer.
это получаю при запуске tsconfig.msc.
Как можно исправить?
А вы на чем запускаете tsconfig.msc и к чему подключаетесь?
Не пошло.У меня Windows Server 2012 R2 Пробывал и русский и английский вариант. Сделал скриншоты, да зря. Тут не прикрепить двоичные файлы.
Реестр зарегистрировался нормально. Файлы перенес. И даже дал полный доступ к этим файлам. На всякий случай перегрузил сервер. От имени администратора запустил выполнить. Набрал cmd. Перешел в system32. Запустил на выполнение tsadmin.msc . Получаю «tsadmin.msc» не является внутренней или внешней командой, исполняемой командой или пакетным файлом.
Наймите нормального админа
Круто. Хорошая помощь. Я сам так могу помогать. Сломался холодильник — купи новый. Потек кран — вызови мастера.
Спасибо! Всё отлично работает.
Вопрос к автору
Как понять какие группы уже добавлены в разрешения на 2019 сервере
O:SYG:SYD:(A;;CC;;;IU)(A;;0xf03bf;;;SY)(A;;CCSWLOSDRCWDWO;;;LS)(A;;CCLO;;;NS)(A;;0xf03bf;;;BA)(A;;CCWPCR;;;RD)S:(AU;FA;CCWPCR;;;WD)
После применения команды get-WmiObject -Namespace «root/cimv2/terminalservices» -Class win32_tspermissionssetting
O:SYG:SYD:(A;;0xf03bf;;;SY)(A;;CCSWLOSDRCWDWO;;;LS)(A;;CCLO;;;NS)(A;;WP;;;S-1-5-21-221706447-3780068832-111565678-1603)(A;;CCWPCR;;;S-1-5-21-221706447-3780068832-111565678-1109)(A;;0xf03bf;;;DA)(A;;0xf03bf;;;BA)(A;;CC;;;IU)S:NO_ACCESS_CONTROL
Судя по сидам — две группы домена и 6 непонятных.
По факту даны доступы 3 доменным группам, 1 доменному пользователю, 4 системным группам
методом втыка:
Система (A;;0xf03bf;;;SY)
ЛокалСервайс (A;;CCSWLOSDRCWDWO;;;LS)
НетворкСервайс (A;;CCLO;;;NS)
АдминыДомена (A;;0xf03bf;;;DA)
ЛокалАдмины(A;;0xf03bf;;;BA)
Интерактивные(A;;CC;;;IU)
Ответ нашел сам на вашем сайте
Все пользователиS:(AU;FA;CCWPCR;;;WD)
К моему предыдущему комментарию
что как я разобрался
а как удалить доступы что прописаны мной через wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName =»RDP-Tcp») CALL AddAccount «domain\support_rds»,2
Всем привет. Тема вроде не совсем мертвая. Если кто-то знает ответ, то прошу научить:
Развернул сервер терминалов на базе 2019. Все работает, применил знания с этого сайта(в том числе). У меня уже есть несколько рабочих терминалов на 2012r2. Привык настраивать их с помощью работающего сервера на 2008. Но получаю, при подключении к 2019 (tsadmin и tsconfig) ответ о «необходимости прав администратора на обоих серверах»; что разумеется есть. Посмотрел разные права, пользователей от которых работают службы — не увидел очевидного.
Собственно, знает ли кто-либо об такой проблеме?
Поправочка: Проблема только в tsconfig. tsadmin подключается
У меня то же самое, причём даже из 2008 не хочет подключаться. tsconfig с аналогичной ошибкой, а tsadmin говорит «Access is Denied».
на 2022 работает
На Server 2019
ERROR:
Description = Invalid method Parameter(s)
На локальной Win10 применилось, правда толку от этого…
Спасибо за статью. Очень сильно помогла