Задать вопрос
tonyslark
@tonyslark
junior system administrator

Как распознать/отловить log off и/или завершение работы?

Имеется скрипт запускающийся при входе пользователя. Необходимо организовать его закрытие когда пользователь делает log off или выключает компьютер.
В интернете нашел лишь вариант "подписаться" на события класса SystemEvents Class типо:
$Event = [microsoft.win32.systemevents]
Register-ObjectEvent -InputObject $Event -EventName "SessionEnding" -Action { ... }
Register-ObjectEvent -InputObject $Event -EventName "SessionEnded" -Action { ... }
Может быть есть еще какие-нибудь более красивые варианты?
Заранее спасибо!
  • Вопрос задан
  • 217 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
tonyslark
@tonyslark Автор вопроса
junior system administrator
$Event = [microsoft.win32.systemevents]
Register-ObjectEvent -InputObject $Event -EventName "SessionEnding" -Action { Stop-process или Taskkill}
Register-ObjectEvent -InputObject $Event -EventName "SessionEnded" -Action { Stop-process или Taskkill }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
А что, скрипт разве продолжает работу, когда пользователь завершает сеанс? Ведь все процессы, связанные с его сеансом завершаются при выходе.
Ответ написан
@denilenko
Создать в планировщике скрипт, который при выходе пользователя "убивает" работающий скрипт.
Хотя, ИМХО, правильнее все же отлавливать это дело в самом скрипте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы