Найти тему
Эникей на передержке

Автоматизация замены termsrv.dll | Мультисессия RDP Windows

Автоматизируем замену файла, отвечающего за подключения к удалённому рабочему столу. Теперь обновления ОС не затронут рабочие процессы.

В статье "Безопасная параллельная работа RDP-сессий" я подробно рассказал, как вручную активировать возможность параллельной работы пользователей за одним компьютером.

Спустя полтора месяца у меня появилось время полностью автоматизировать данный процесс и подстроить его под свои задачи.

Инструкция

Чтобы автоматически пропатчить файл, необходимо:

  1. Запустить PowerShell от имени Администратора.
  2. Выполнить команду: 'powershell -File <путь-к-скачанному-скрипту>'.

Т.к. все скрипты у меня лежат в "C:\Scripts", команда будет выглядеть следующим образом:

powershell -File "C:\Scripts\termsrv-patch.ps1"
Если файл уже пропатчен, скрипт выведет соответствующее уведомление
Если файл уже пропатчен, скрипт выведет соответствующее уведомление

Восстановление оригинального файла

Чтобы восстановить файл, достаточно использовать скрипт: https://mega.nz/file/0VtUGbQD#2GnOgRObZ9sW1RNNbpzN8nVqlAj3XyXvPhTz646c1LI

Если по каким-то причинам у вас отсутствует бэкап (например, вы выполняли подмену файла вручную), выполните команду 'sfc /scannow' и перезагрузите компьютер. Обратите внимание, что в этом случае может потребоваться принудительно запустить службу TermService!

Реальные примеры использования:

Кейс #1. Прод - наше всё

Подрядчики должны выполнить работы со специфическим софтом на мощностях клиента. После тестов выясняется, что для работ нужна хорошая графика, поэтому стационарный ПК справляется гораздо лучше VM на гипервизоре. Софт не дружит с Windows Server, а количество физических ПК ограничено. В итоге установили обычную "десятку" и пропатчили termsrv.dll, ресурсов одного ПК хватает для работы пятерым пользователям.

Вся сложность в том, что после установки обновлений патч слетает, а оставлять ПК без обновлений - не вариант. Т.к. скрипт стабильно отрабатывает на версии 22H2 и содержимое искомой последовательности байтов не меняется, решено предотвратить случайный переход на более новую версию использованием локальных политик, а т.к. ПК перезагружается только для установки обновлений, патч запускается при каждом старте компьютера.

Кейс #2. Специфический пользователь

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

К компьютеру не требуется параллельный доступ 24/7, поэтому нет необходимости в настройке политик. Частоту выполнения скрипта можно установить примерно раз в месяц (примерно с такой периодичностью устанавливаются накопительные обновления).

Завершение

Ещё раз напоминаю, что Windows 10 - ОС для рабочих станций и не способна заменить сервер. Не пытайтесь сделать из обычного ПК терминальник, решив сэкономить на лицензиях!

Спасибо, что дочитали статью до конца. Поддержите канал лайком и подпиской, чтобы чаще видеть в ленте подобный контент. Всего вам доброго!)
Windows
66,2 тыс интересуются