Не уверен насчет других языков сценариев, таких как PowerShell или Perl, но в VBScript / JScript, похоже, нет способа сделать это.
Прежде всего, Windows Script Host не предоставляет доступ кWindows API, поэтому вы не можете перехватывать сообщения Windows WM_ENDSESSION
и WM_QUERYENDSESSION
(как предложено в упомянутой вами статье) из VBScript / JScript.
Есть WMI Win32_ComputerShutdownEvent
событие, которое происходит, когда компьютер выключается, но вы можете получить это событие только с удаленных компьютеров .Когда локальный компьютер выключается, сценарий останавливается до доставки события.