Я хотел бы запланировать одноразовый перезапуск сервера, например, завершить установку обновлений рано утром. Как я могу сделать это из командной строки в Windows 2012?
На Windows 2008 я бы использовал at
команду,
at 2am shutdown -r -f -c "restart"
и забрал остаток дня.
Но в Windows 2012 запуск этой команды говорит мне, что
The AT command has been deprecated. Please use schtasks.exe instead.
Таким образом, эквивалентная команда с schtasks.exe может быть
schtasks /create /sc once /tn restart /tr "shutdown - r -f ""restart""" /st 02:00
Помимо того , что очень забывается, эта команда имеет еще один важный недостаток : она планирует задание на 2 часа ночи сегодня -не много пользы , если я не просыпаются в 1am , чтобы запустить его.
Согласно справке для schtasks.exe, /sd
переключатель для установки даты начала не применяется с /sc once
. Поэтому даже если бы я хотел напечатать завтрашнюю дату в формате мм / дд / гггг, а я нет, я не смогу этого сделать.
Единственное возможное решение, которое я нашел, - здесь , где Кевин Траас предлагает создать пакетный файл для создания запланированного задания незадолго до полуночи, который ждет пару минут, а затем создает другое запланированное задание для запуска команды, которую вы действительно хотите запустить. Умно, но далеко не так удобно, как at
.