Как узнать время запланированного выключения в Windows?

Вопрос или проблема

Предположим, я запланировал выключение/перезапуск в Windows, например:

shutdown /r /f /t 300

Есть ли способ узнать, сколько времени осталось или во сколько произойдет перезапуск?

Я могу отменить выключение,

shutdown /a

поэтому предполагаю, что Windows отслеживает это независимо от оболочки, которую я использовал для планирования выключения.

Как я могу получить эту информацию? В основном, я хотел бы знать, сколько времени осталось (или если есть активное запланированное выключение)?

https://superuser.com/questions/317051/in-windows-7-how-do-i-know-when-a-computer-is-scheduled-to-be-shutdown

https://superuser.com/questions/1028374/determine-whether-a-shutdown-is-pending

Посмотрите ссылки выше для справки.

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

Я создал функции для управления задачами выключения. Вы не можете получить информацию с помощью shutdown -s -t; лучше использовать schtasks.

function Schedule-Shutdown { schtasks /create /tn "SchShutd" /tr "shutdown -s -f" /sc once /st $args[0] }

function Schedule-Shutdown-Info { $t=Get-ScheduledTask -TaskName "SchShutd" 2>$null; if ($t){$t.Triggers.StartBoundary}else{"No task found"} }

function Schedule-Shutdown-Cancel { schtasks /delete /tn "SchShutd" /f }

Поместите это в ваш профиль PowerShell, чтобы сделать его доступным глобально.

notepad $PROFILE   # открывает ваш профиль, вставьте сюда

Разрешите выполнение скриптов

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Пример выполнения:

Schedule-Shutdown 15:00
SUCCESS: The scheduled task "SchShutd" has successfully been created.

Schedule-Shutdown-Info
2025-01-10T15:00:00

Schedule-Shutdown-Cancel
SUCCESS: The scheduled task "SchShutd" was successfully deleted.

Schedule-Shutdown-Info
No task found

Ответ или решение

Конечно! Если вы хотите узнать, как определить запланированное время завершения работы или перезагрузки системы Windows, у вас есть несколько подходов. Давайте рассмотрим их более подробно.

Использование команды shutdown

Когда вы запланировали завершение системы в Windows с помощью команды:

shutdown /r /f /t 300

эта команда указывает на перезагрузку через 5 минут (300 секунд), принудительно закрывая все приложения. Однако данная команда не предоставляет функции для проверки оставшегося времени до выключения.

Использование PowerShell

Вы можете создать функции PowerShell, чтобы более гибко управлять запланированными задачами завершения работы. В PowerShell для этого существует более мощный инструмент – schtasks. Вы можете создать функцию для запланированного выключения системы и получить информацию о запланированном времени с помощью следующего сценария:

function Schedule-Shutdown {
    schtasks /create /tn "SchShutd" /tr "shutdown -s -f" /sc once /st $args[0]
}

function Schedule-Shutdown-Info {
    $t=Get-ScheduledTask -TaskName "SchShutd" 2>$null; 
    if ($t) {
        $t.Triggers.StartBoundary
    } else {
        "No task found"
    }
}

function Schedule-Shutdown-Cancel {
    schtasks /delete /tn "SchShutd" /f
}

Как это работает?

  1. Запланированное завершение: Используя Schedule-Shutdown 15:00, вы создаёте задачу, которая выключит систему в указанное время.
  2. Информация о времени: С помощью Schedule-Shutdown-Info вы можете проверить, когда задача будет выполнена.
  3. Отмена задачи: Schedule-Shutdown-Cancel позволяет удалить запланированную задачу по завершению работы.

Установка профиля PowerShell

Можно сделать данные функции доступными глобально, добавив их в ваш профиль PowerShell:

notepad $PROFILE

После этого откроется файл профиля, в который необходимо вставить данные функции. Чтобы позволить выполнение таких скриптов, измените политику выполнения команд:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Заключение

Данные методы оптимальны для управления запланированными задачами выключения в Windows на профессиональном уровне. Это гибкое решение, которое позволит как установить, так и контролировать запланированные задачи завершения системы посредством PowerShell.

Оцените материал
Добавить комментарий

Капча загружается...