Войти

Показать полную графическую версию : Скрипт завершения удаленных сеансов в зависимости от разрешенного времени входа


SHASHLIK
27-08-2015, 16:37
В AD есть такая настройка учетных записей, как время входа:

http://i11.pixs.ru/storage/1/5/3/2jpg_2213454_18571153.jpg (http://pixs.ru/showimage/2jpg_2213454_18571153.jpg)


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

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

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

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

Elven
27-08-2015, 17:19
можно конечно начать с
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
Установить групповую политику- Network security: Force logoff when logon hours expire (https://technet.microsoft.com/en-us/library/cc787251(v=ws.10).aspx)

Iska
27-08-2015, 20:02
Угу. Всё равно никакого:
будет завершать(НЕ СБРАСЫВАТЬ) сессии »
толком не выйдет: несохранённый документ, открытое окно диалога — и досвиданья.

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

Elven
28-08-2015, 09:00
corbis, как раз наоборот, сессия не будет завершаться принудительно при открытых диалоговых окнах.

SHASHLIK
02-09-2015, 16:58
Установить групповую политику- Network security: Force logoff when logon hours expire »


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

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

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

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

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




© OSzone.net 2001-2012