Разрешаем пользователям подключение к серверу только через RemoteApp
- Recluse
- 02.10.2021
- 2 530
- 0
- 13.12.2021
- 2
- 2
- 0
- Содержание статьи
Настраивая терминальный сервер с опубликованными приложениями 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:\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 файл, с проверкой пользователя на принадлежность к группе администраторов, и при её неудачном прохождении - отключить пользователя.
Добавить комментарий