Несмотря на то, что это старая ветка, я хотел бы добавить разработанное мной решение, которое хорошо работает.
Я хотел запускать сценарий или командный файл всякий раз, когда инициировалось завершение работы или перезапуск, но я не хотел использовать функцию сценариев завершения групповой политики. Причина этого была довольно глубокой, но мне нужно было запустить скрипт до того, как некоторые сервисы были закрыты.
В итоге я создал запланированное задание следующим образом:
- Тип : По событию (Основной)
- Журнал : Система
- Источник : User32
- EventID : 1074
Когда пользователь или команда инициирует завершение работы или перезапуск как зарегистрированный пользователь или от имени пользователя, событие с кодом 1074 будет инициировано. Создав задачу, которая будет использовать его для запуска сценария, он запустит сценарий и даст ему возможность завершиться, однако он будет сообщать о задаче как о "работающей" или "запущенной" в журналах. Я не использовал это с длинным сценарием, так что, возможно, стоит продолжить тестирование, но он отлично работает для коротких сценариев.