No Windows 7, como sei quando um computador está programado para ser desligado?

4

Digamos que eu use "shutdown -s -f -t 13600" para iniciar um desligamento programado.

No Windows XP, sempre vejo uma caixa de diálogo me alertando sobre o desligamento iminente.

No Windows 7, no entanto, ele mostra um pop-up na bandeja do sistema, que desaparece após alguns segundos.

Como posso consultar ou ativar uma caixa de diálogo como o Windows XP para que eu saiba quando o desligamento ocorrerá?

    
por KalEl 30.07.2011 / 16:17

3 respostas

4

Eu encontrei um jeito.

Se, em vez de usar shutdown -s -f -t 13600

você usa shutdown -s -f -t 13600 -c "13600"

A opção -c adiciona um comentário ao evento de desligamento registrado Windows Event Viewer

Seu comentário de "13600" ficará visível no Visualizador de Eventos, conforme visto no oval vermelho:

Paraveressavisualizaçãovocêmesmo:digiteVisualizareventosnomenuIniciareváparaRegistrosdoWindows->Sistemaevocêveráumalistadeeventosdosistema.

TodososeventoscomumIDdoeventode1074serãoumencerramentoatrasado.

Então,oquequeremoséalgumcódigoqueobtenhaoúltimoevento1074,procureovalornocomentáriodoeventoeadicioneessevalor(emsegundos)àhoraemqueoeventofoicriado,fornecendoassimotempodedesligamento.

EufizumafunçãoparaoWindowsPowerShell(fornecidocomoWindows7)quefazisso:

functionnextShutdownTime{$events=Get-WinEvent-FilterHashtable@{logname="system"; id=1074}
    $event = $events[0]
    $eventXML = [xml]$event.ToXml()
    return $event.TimeCreated.addSeconds([int]$eventXML.Event.EventData.Data[5])
}

Basta adicioná-lo ao seu perfil do PowerShell e, no PowerShell, basta executar o comando nextShutdownTime para ver o tempo esperado de desligamento.

    
por 30.07.2011 / 17:59
1

Eu passei cerca de uma hora tentando fazer isso funcionar exatamente como você queria de alguma forma. Eu experimentei, procurei e procurei, mas não consegui, mas consegui pensar em algo.

Eu tentei todas as combinações de shutdown (-i -c -d options), mas nada.

Eu também experimentei a interface GUI após a opção -i.

Eu também tentei alterar a exibição do tempo do balão para que ele ficasse mais tempo na systray, mas ainda assim, até isso desaparece.

O mais próximo que eu vou com este exemplo de comando: shutdown -i -r -t 300

Eu acho que o fato é que eles simplesmente mudaram a maneira como funciona, e eu não acho que há alguma maneira de contornar isso 100%, mas o -i agora traz uma caixa de diálogo, enquanto ele costumava trazer a tela que você queria. Quando usei o -i no Windows 7, tive que preencher a caixa e aqui estava o resultado:

EntãoeuaperteiEnterepegueiisto:

Eu testei, e parece que o valor superior que você pode colocar no "aviso de exibição para X segundos" é de apenas 600, apesar do fato de você poder inserir até 999 (programação muito estranha).

    
por 30.07.2011 / 17:34
1

How do I query, or enable a dialog like Windows XP for me to know when the shutdown is going to happen?

O programa de desligamento nativo do Windows 7 não fornece uma caixa de diálogo de contagem regressiva (ou um botão de cancelamento) como as versões anteriores do Windows.

Se você precisar programar um desligamento e fornecer um botão de contagem regressiva e cancelar, poderá usar um aplicativo HTA, que pode ter texto, imagens, uma contagem regressiva e um botão de cancelamento.

Aqui está um exemplo: Script HTA - Script de desligamento e mensagem de aviso

Source é meu blog pessoal.

    
por 31.07.2011 / 04:15