Вы можете использовать powershell, чтобы получить подробности
Get-WinEvent -FilterHashTable @ -MaxEvents 1
Приведенная выше команда получит вам последнюю информацию о завершении работы системы / перезагрузке. По умолчанию журналы извлекаются первыми, поэтому ограничение до 1 приведет к последнему событию. Кстати, благодаря комментарию @ Лучано, который очень помог. Ниже приведен полный сценарий для вашего случая.
$lastEvent = Get-WinEvent -FilterHashTable @ -MaxEvents 1 $restarted = $lastEvent.Message -like "*restart*" if($restarted) { Write-Host "The PC has been warm reboot" -ForegroundColor Red } else { Write-Host "The PC has been cold reboot" -ForegroundColor Green }
Вы можете сослаться здесь о том, как выполнить сценарий PowerShell при запуске.