Большинство администраторов терминальных серверов 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 применилось, правда толку от этого…
Спасибо за статью. Очень сильно помогла
Админов не даёт выкидывать (WS2022)
Всё прекрасно заработало на Windows Server 2025!
Пожалуйста, дополните статью:
1. В архиве не хватает файлов справки, а именно
— для tsadmin: windows\Help\mui\0419\ts_manager.CHM
— для tsconfig: windows\Help\mui\0419\tscc.CHM
2. Я активно пользуюсь утилитой RemoteApp Manager — она тоже прекрасно переносится:
— реестр: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{fc2a784c-94da-4493-abe4-f7f9dc25d16f}]
— файл1: windows\system32remoteprograms.msc
— файл2: windows\system32PublishSnapIn.dll
— файл3: windows\system32PublishingWizard.dll
— файл4: windows\system32\ru-RU\PublishingWizard.dll.mui
— файл5: windows\system32\ru\PublishSnapIn.resources.dll
— файл6: windows\Help\mui\0419\ts_remoteprograms.CHM
Думаю, многим будет полезна эта информация. Спасибо вам за ваш труд!