Облачное хранилище

Ограничение доступа по времени на сервер терминалов без AD

Ограничение доступа к серверу терминалов в определенные часы или Время входа или же Logon hours.
В домене Active Directory это сделать легко, см. картинку.logon hours active directory

На отдельно стоящем сервере терминалов такой возможности «из коробки» нет. На одном англоязычном форуме я натолкнулся на такое решение: с помощью планировщика задач и команды net localgroup удалять и добавлять пользователя или группу в группу «Пользователи удаленного рабочего стола» (Remote desktop users).

Удаление пользователя из группы «Remote desktop users» не отключит сеанс пользователя, и если пользователь в это время в залогинен системе, то он так продолжит работать. Необходимо его принудительно отключать. Один из способов — в свойствах пользователя указать лимит активной или простаивающей сессии.
Свойства пользователя - сессия. User properties - Sessions.

Другой — использовать встроенную утилиту Windows — logoff.exe, но дело том, что команде logoff в качестве параметров надо передавать ID или имя сессии, которые каждый раз разные. Их можно получить с помощью команды query. Возможно перенаправить вывод одной команды на вход другой, но у меня это не получилось сделать наскоком, а надо было поскорей. Буду благодарен за подсказку в комментариях.

Я нашел утилиту сторонних разработчиков, компании Ctrl-Alt-Del TSLogoff.exe, которая может использовать имя пользователя (логин) в качестве входного параметра.

Итак я создал два cmd файла следующего содержания:

C:scriptsTSLogoff.exe vasia
net localgroup "remote desktop users" /delete server_namevasia

и

net localgroup "remote desktop users" /add server_namevasia

и поставил их запуск в «Планировщике Заданий» (Task Scheduler) на отключение и включение пользователя соответственно.

Скачать TSLogoff.exe и описание параметров можно тут: http://www.ctrl-alt-del.com.au/CAD_TSUtils.htm