E
E
Evgeniy Dikevich2017-01-17 09:18:37
PowerShell
Evgeniy Dikevich, 2017-01-17 09:18:37

How to recognize/catch log off and/or shutdown?

Имеется скрипт запускающийся при входе пользователя. Необходимо организовать его закрытие когда пользователь делает log off или выключает компьютер.
В интернете нашел лишь вариант "подписаться" на события класса SystemEvents Class типо:
$Event = [microsoft.win32.systemevents]
Register-ObjectEvent -InputObject $Event -EventName "SessionEnding" -Action { ... }
Register-ObjectEvent -InputObject $Event -EventName "SessionEnded" -Action { ... }
Может быть есть еще какие-нибудь более красивые варианты?
Заранее спасибо!

Answer the question

In order to leave comments, you need to log in

5 answer(s)
Евгений Дикевич, 2017-02-20
@tonyslark

$Event = [microsoft.win32.systemevents]
Register-ObjectEvent -InputObject $Event -EventName "SessionEnding" -Action { Stop-process или Taskkill}
Register-ObjectEvent -InputObject $Event -EventName "SessionEnded" -Action { Stop-process или Taskkill }

Александр, 2017-01-17
@asand3r

А что, скрипт разве продолжает работу, когда пользователь завершает сеанс? Ведь все процессы, связанные с его сеансом завершаются при выходе.

Денис, 2017-01-17
@denilenko

Создать в планировщике скрипт, который при выходе пользователя "убивает" работающий скрипт.
Хотя, ИМХО, правильнее все же отлавливать это дело в самом скрипте.

U
User23, 2017-07-17
@User23

the one you are familiar with

X
xdgadd, 2017-07-18
@xdgadd

DB and state machines. If there are many users, you may have to make a queue, because the bot api has a limit of 30 messages per second.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question