Простого API для получения такой информации не существует.
-- Можно узнать, что в системе запущен отложенный shutdown/restart:
EventLog ID
1074 (STATUS_SHUTDOWN_CLEAN) - событие о плановом рестарте (включая отложенные)
EventLog ID
1074 (WARNING_ISSE_SHUTDOWN_CANCELLED) - событие об отмене рестарта (включая отложенные)
Откладывание рестарта через
shutdown /t время
вызывает процесс
wlmdr.exe, который рисует бабл про "
Ваш сеанс работы будет прекращен. Работа Windows будет завершена через 111 мин".
Наличие свежего EventLog по ID
1074 и наличие
wlmdr.exe в процессах может указывать на запланированный shutdown/restart. На этих двух условиях можно построить триггер.
-- Можно узнать, что именно будет запущено:EventLog ID 1074 содержит строчку "Тип выключения" (Shutdown Type), в которой будет "Перезапустить" или "Выключение питания" (на англ.: reboot или shutdown).
-- Низкоуровневый способ узнать и состояние и время:
Можно проверять состояние "ShutdownInProgress" и "ShutdownTime" отладчиком, подключившись к winlogon.exe.
https://blogs.msdn.microsoft.com/ntdebugging/2007/...
Конечно это значительно более тяжёлый путь, который не очень подходит для массового выполнения заббиксом на рабочих станциях сотрудников.