- Содержание статьи
Настраивая терминальный сервер с опубликованными приложениями 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 файл, с проверкой пользователя на принадлежность к группе администраторов, и при её неудачном прохождении — отключить пользователя.

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