![]() |
Автоматический LOG OFF пользователя при отсутствии активности.
Добрый день! (WIN XP SP3 32bit)
Нужно решение следующей задачи. Имеется компьютер с двумя пользователями, включенный 24/7. первый - администратор, в этом сеансе работают фоновые программы. второй - пользователь чайник. этот пользователь постоянно создаёт кучу окон Firefox, никогда за собой ничего не закрывает, когда уходит, не делает log off, иными словами оставляет после себя кучу мусора, расходуя оперативную память. Кроме того, Firewall выдаёт иногда диалоговые окна в сеанс этого пользователя, и, естественно, правильный ответ в силу чайниковости пользователдь дать не может (хорошо хоть, не трогает эти диалоги). поэтому важно, чтобы по отсутствии активности со стороны пользователя (это можно опрелделить только по отсутсвиию активности локальных ресурсов - клавиатуры и мыши, подключенных к компьютеру) происходило принудительное завершение сеанса с потерей данных, и.т.п. вроде бы бы задача тривиальная, но есть проблемы. если на Schedule Manager навесить taskkill /F /T /IM Explorer.exe + shutdown -l <USER> -f -t 0 то совешенно нет опции, аналогичной той, которая есть при активации скринсейвера. Опция http://forum.oszone.net/attachment.p...2&d=1217323491 касается простоя компьютера (а компьютер занят!), и вовсе не активности пользователя. использовать же гаситеь экрана тоже нельзя, так как гаситель экрана гасит монитор, чтобы он зря не работал. Замкнутый круг. изх прочтённого есть варианты использовать WSH программу, которая работает по принципу Watchdog timer , то есть устанавливает таймер при активности, но этот путь слишком громоздкий. Есть либолее элегантное решение? сть AUTOIT (с ним ещё разбираться нужно) какой командой можно узнать, сколько времени пользователь не нажимал клавиши и не двигал мышь? |
Вопрос решён. Я как-то забыл, что выключение монитора и запуск скринсейвера может запускаться по независимым таймаутам.
Если у кого-то такая же задача, делается это так: С Сайта Майкрософт нужно скачать это: http://www.microsoft.com/downloads/e...displaylang=en затем после установки нажать правой кнопкой (в сеансе пользователя, который должен отключаться) на файле winexit.scr и установить его. Установить его как скринсейвер, настройки там очевидные. затем с административного аккаунта зайти в реестр и установить правильные привилегии для ветки, описывающей скринсейвер. подробнее тут: http://support.microsoft.com/?kbid=156677 |
Однако, более чем недельное тестирование и испытание этого метода показало недостатки!
на этот раз Майкрософт НЕ ДОКУМЕНТИРОВАЛ следующие особенности (я полагаю, в корпоративной среде эти особенности могут иметь катастрофические последствия!) Итак, допустим, время отключения монитора установлено на 10 минут. если в настройках winexit установить время срабатывания + время таймаута (в сумме менее 10 минут), всё работает как надо. Однако, если, например, установить время срабатывания автологофф (а это НЕ ТО ЖЕ САМОЕ, что Lock Station (WIN + L)), то программа срабатывает именно, как LOCK Station !!! Где на сайте Майкрософт это написано??? собственно, по ссылке ниже этот факт указан: Цитата:
Остаётся только удивляться, почему автоотключение пользователей не решается средствами самой ОС, а решается только средствами сторонних разработчиков, хотя такая задача является стандартной. сейчас буду тестировать другое готовое решение: http://www.winability.com/active-exit/ сравните и поймите крайнюю ограниченность winexit: http://www.winability.com/active-exit-vs-winexit/ |
Тестирование показало полную пригодность программы active exit для решения задачи. Вот теперь тема точно решена.
|
Время: 03:08. |
Время: 03:08.
© OSzone.net 2001-