Я хотел бы запланировать одноразовый перезапуск сервера, например, завершить установку обновлений рано утром. Как я могу сделать это из командной строки в 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
.
источник
Ответы:
Сама
shutdown
команда имеет параметр/t
задержки, который задерживает отключение на количество секунд до 10 лет. Если вы хотите запланировать отключение через 14 часов, скажем, вы можете запуститьВы также можете добавить причину с помощью
/d
параметра или комментарий с помощью/c
; бегитеshutdown /?
за подробностями.источник
Несмотря на документацию,
/SD
параметр кажется совместимым с/SC ONCE
. Задача успешно создана для выполнения в указанную дату и в указанное время. (Проверено на W8 и W7)Кроме того, документация XP для
schtasks.exe
того, чтобы сказать, что/SD
параметр требуется при использовании/SC ONCE
, поэтому я предполагаю, что есть довольно много сценариев, использующих комбинацию.Пример:
Если вы не согласны с документацией, рассмотрите возможность создания XML-файла напрямую ( схема приведена здесь ), который определенно поддерживается и определенно поддерживает задачу, запланированную для однократного запуска в будущем. Простой способ получить нужный файл - создать его в
mmc
оснастке « Планировщик заданий» и использовать команду экспорта .Пример:
Команда для импорта:
источник
/sd
поддержке. Это интересно и в отношении импорта XML, хотя лично я не хочу идти против документации. Так что, по крайней мере, это возможно - просто намного, намного сложнее, чем раньшеat
./sd
не работает с/sc once
Windows Server 2008. В результатеERROR: Incorrect Start Date.
/SD 06/14/2013
.Я закончил тем, что создал,
runat.ps1
чтобы воспроизвести некоторые из простых особенностейat
, включая мудрость из ответа Митча.Синтаксис
runat (time) (command)
, например,Если вы тоже испытываете ностальгию по старым добрым временам, когда вам не нужно было печатать ...
... затем вы можете установить его, выполнив команду powershell:
Или вы можете вручную скачать
runat.ps1
скрипт здесь .источник
Я использовал это в сценарии для 2012 R2 и работает хорошо; Это создаст ежедневную задачу, которая перезапускает сервер в 4:30 утра.
Убедитесь, что вы запускаете это из командной строки CMD с правами администратора.
Энди
источник
Еще один скрипт PowerShell для программной перезагрузки компьютера на следующий день в указанное время
источник
Я предлагаю использовать команду schtasks с параметром / f.
Используя / f, если есть задача с таким же именем, она модифицируется.
Это очень полезно для развертывания задач с помощью сценариев.
Полный пример перезапуска сервера расписаний:
Извлечено из: http://www.sysadmit.com/2016/09/windows-programar-apagado-o-reinicio-automatico.html
источник
Если цель состоит в простой перезагрузке после установки обновлений, вы можете использовать модуль PSWindowsUpdate для установки обновлений. Вы можете скачать его здесь . После установки просто откройте Powershell и введите
источник
Этот сценарий позволяет запланировать перезапуск нескольких серверов на определенную дату / время.
https://gallery.technet.microsoft.com/Schedule-restart-of-2c1131fb?redir=0
источник