Разрешаем пользователям подключение к серверу только через RemoteApp

Разрешаем пользователям подключение к серверу только через RemoteApp

Настраивая терминальный сервер с опубликованными приложениями RemoteApp, может возникнуть желание закрыть возможность прямого подключения пользователей к удаленному рабочему столу. К сожалению, Microsoft не предусмотрели подобной возможности в настройках сервера, по этому, для реализации придется воспользоваться костылями из bat и vbs скриптов.

Использование скриптов

Для решения данной задачи, воспользуемся работой автозагрузки в системе Windows. Дело в том, что когда пользователь входит в систему Windows - локально или удаленно - то срабатывают все задачи автозагрузки, в том числе из директории "Автозагрузка" ("Startup"). Когда же пользователь подключается к серверу с запуском RemoteApp, система пропускает все задачи автозагрузки, запуская только указанное приложение.

Таким образом, для решения этой задачи, нужно поместить в автозагрузку скрипт, который будет проверять наличие пользователя в группе "Администраторы", и если пользователь администратором не является - отключать пользователя. Пожалуй самым простым будет использовать bat скрипт, следующего содержания:

@echo off
whoami /groups | find /i "S-1-5-32-544" >nul 2>&1
if not %errorlevel% == 0 (logoff)

После этого, сохраняем данный файл с любым удобным названием (например, DenyRDP.bat) в директорию C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp, тем самым поместив его в автозагрузку для любого пользователя. Отныне, если обычный пользователь попробует подключиться напрямую к удаленному рабочему столу, его принудительно разлогинит.

В качестве финального штриха, можно убрать окошко командной строки, которое будет кратковременно появляться при входе пользователя в систему. Для этого, переместим ранее созданный bat файл в удобное место (например на диск C:), и создадим следующий vbs скрипт:

Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd /k C:\DenyRDP.bat", 0

И сохраним его в директорию C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp заместо bat файла. Теперь, при подключении пользователя, произойдет запуск vbs скрипта, который в скрытом режиме выполнит bat файл, с проверкой пользователя на принадлежность к группе администраторов, и при её неудачном прохождении - отключить пользователя.

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.