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

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

Использование 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:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp, тем самым поместив его в автозагрузку для любого пользователя. Отныне, если обычный пользователь попробует подключиться напрямую к удаленному рабочему столу, его принудительно разлогинит.

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

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

И сохраним его в директорию C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp заместо bat файла. Теперь, при подключении пользователя, произойдет запуск vbs скрипта, который в скрытом режиме выполнит bat файл, с проверкой пользователя на принадлежность к группе администраторов, и при её неудачном прохождении — отключить пользователя.

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *