Agendar reinicialização no horário especificado

Respostas:

15

Faça uma tarefa agendada que seja executada:

shutdown -r -t 01
Mark S. Rasmussen
fonte
A tarefa agendada pode se excluir quando a tarefa estiver concluída?
Toro
Não é possível excluir a si mesmo, mas você pode configurar um gatilho de uma só vez, para que seja executado apenas uma vez.
Mark S. Rasmussen
2
Se a tarefa estiver agendada para ser executada uma vez, há uma caixa de seleção "excluir esta tarefa se não estiver agendada para ser executada novamente" na guia Configurações da janela de propriedades da tarefa agendada. O agendador removerá a tarefa após a execução, se não for agendada novamente. Não tenho certeza de como isso funcionará no caso de uma reinicialização do servidor, embora seja teoricamente possível.
Justin Scott
Ou, se for um caso único, use o / t xxx para definir o desligamento para o horário futuro desejado. O valor do atraso pode ser de até 10 anos. (Mas uma vez que é expresso em segundos, tendo um tempo muito longo chamadas de atraso para um pouco de cálculo.)
Jesper M
18

A maneira mais fácil de agendar uma reinicialização simples é usar o comando AT junto com o comando shutdown na linha de comando.

Por exemplo, se você deseja que o servidor seja reiniciado hoje à noite às 02:00, pode ser tão simples quanto isto:

às 2:00 desligamento / r / f

O que o comando "AT" faz é criar automaticamente uma tarefa agendada para um determinado comando. Ele tem vários parâmetros que você pode especificar para repeti-lo, mas, por padrão, ele executa o comando que você especificar na próxima instância, a qualquer momento que você especificar.

Se você precisar alterar alguma coisa após a emissão, basta acessar Ferramentas administrativas> Tarefas agendadas e modificar a tarefa.

Matias Nino
fonte
11
Aparentemente, isso foi preterido no Server 2012
Matias Nino
3

Sei que isso não resolve todo o seu problema, mas para versões do Windows Server desde 2008 e, nos casos em que você só precisa reiniciar o servidor uma vez, não precisa se preocupar com as tarefas agendadas. O shutdowncomando interno permite especificar um atraso em segundos usando o -tparâmetro

Por exemplo, para reiniciar em 12 horas (ou 43200 segundos):

shutdown -r -t 43200

Obviamente, para obter um horário específico, você precisará de algumas contas simples, mas é muito mais fácil do que mexer nas tarefas agendadas.

Molomby
fonte
11
É possível (sem o log de script ou semelhante) obter o estado de um comando assim depois que ele foi emitido? Que o tempo restante até a reinicialização é de 3 horas, por exemplo?
ErikE
11
@ ErikE, A única maneira de saber se é emitir um shutdown -acomando que interrompe o desligamento atual. Se nenhum desligamento foi agendado, você receberá um erro. Eu não acho que diga quando foi agendado, e se você realmente quisesse desligar, precisará recriá-lo ... então não é o ideal.
Molomby 5/08/2015