Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт завершения удаленных сеансов в зависимости от разрешенного времени входа (http://forum.oszone.net/showthread.php?t=304565)

SHASHLIK 27-08-2015 16:37 2546612

Скрипт завершения удаленных сеансов в зависимости от разрешенного времени входа
 
В AD есть такая настройка учетных записей, как время входа:




Косяк в том, что в это время юзеры могут залогиниться на 1с сервер, и работать дальше, даже если вышли за эти рамки, и не могут лишь лишь перезайти или зайти в другое время.

1)Нужен скрипт, который за полчаса до окончания разрешенного времени будет отправлять юзерам уведомлялки о скором завершении сеанса, а после окончания разрешенного времени будет завершать(НЕ СБРАСЫВАТЬ) сессии на сервере.

2) периодически меняем разрешенное время у разных юзеров. Необходимо в конце недели скидывать их у всех на определенный дефолт, с 9:00 до 18:00, например.

Заранее спасибо.

Elven 27-08-2015 17:19 2546624

можно конечно начать с
Код:

FOR /F "skip=1" %%d IN ('wmic path win32_LocalTime get DayOfWeek') DO GOTO %%d
:1
set DoW=Monday
goto DoWKnow
:2
set DoW=Tuesday
goto DoWKnow
:3
set DoW=Wednesday
goto DoWKnow
:4
set DoW=Thursday
goto DoWKnow
:5
set DoW=Friday
goto DoWKnow
:6
set DoW=Saturday
goto DoWKnow
:7
set DoW=Sunday
goto DoWKnow

:DoWKnow
net user %username% /domain | find /i "%DoW%"

Но что делать с этим дальше я что-то озадачен, никогда не любил в строке ковыряться. И главная беда не в том чтобы расковырять одну строку, проблема в том, что временных интервалов может быть до 12 включительно.

Kazun 27-08-2015 18:54 2546657

Установить групповую политику- Network security: Force logoff when logon hours expire

Iska 27-08-2015 20:02 2546668

Угу. Всё равно никакого:
Цитата:

Цитата SHASHLIK
будет завершать(НЕ СБРАСЫВАТЬ) сессии »

толком не выйдет: несохранённый документ, открытое окно диалога — и досвиданья.

corbis 28-08-2015 01:05 2546735

для того и уведомлялки.. В онлайн игре такое видел. Перед отключением сервера приходят уведомления: за 30 мин, за 15 мин и т.д.
Если после этого юзьверь потерял данные, то сам идиот.

Elven 28-08-2015 09:00 2546778

corbis, как раз наоборот, сессия не будет завершаться принудительно при открытых диалоговых окнах.

SHASHLIK 02-09-2015 16:58 2548724

Цитата:

Цитата Kazun
Установить групповую политику- Network security: Force logoff when logon hours expire »


Эта политика не завершает 1с сессию, пользователь как работал, так и работает. Доступ к базе сохраняется.
Она лишь обрубает доступ к сетевым ресурсам, нет возможности сохранить изменения в открытых доках(офисных) или залезть на файлопомойку.

Ах да, используем не RDP, а RemoteApp.

SHASHLIK 03-09-2015 15:25 2549147

Не нашел в PowerShell параметра LogonHours, поэтому нужен более грубый скрипт типа:
Если OU=region1, то logoff в 17:00
Если OU=region2, то logoff в 18:00

И такую же уведомлялку, с зависимостью от OU.

Как это сделать?)


Время: 02:58.

Время: 02:58.
© OSzone.net 2001-