Windows 2012: como fazer com que o botão liga / desliga funcione em todos os casos?

9

Eu preciso que alguns servidores do Windows 2012 sejam desligados corretamente com o botão liga / desliga.

  • Se ninguém estiver logado, o botão liga / desliga encerra corretamente o servidor
  • Se alguém estiver logado sem um programa de bloqueio, tudo bem também

Mas:

  • se uma sessão estiver bloqueada, o botão de energia não faz nada
  • se alguém estiver logado com um programa de bloqueio (bloco de notas com um documento não salvo, por exemplo), o botão também não faz nada

Com as versões anteriores do Windows, usei para configurar o comportamento do botão de energia com a GUI e modificar uma chave de registro ( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\shutdownwithoutlogon ), mas isso não parece mais relevante.

Alguém conhece o caminho "oficial" ou um truque?

Editar:
O registro do sistema exibe um evento toda vez que eu pressiono o botão liga / desliga. The kernel power manager has initiated a shutdown transition com o ID de evento 109.
Quando a sessão está bloqueada, esse evento é seguido por nada. E nenhum outro evento em outros logs.
Quando um programa se recusa a fechar, eu tenho a entrada de log correspondente, então isso ficará bem em breve.

    
por Gregory MOUSSAT 27.08.2013 / 10:06

2 respostas

5

O fato de você não poder desligar um servidor de 2012 quando uma sessão está bloqueada é provavelmente planejado. Eu enfrentei uma necessidade semelhante e não conheço nenhuma alteração de política ou registro para permitir isso.

Eu usei um truque simples: capturei o evento do botão liga / desliga que simplesmente executa o meu shutdown.exe favorito com os parâmetros desejados após um tempo limite.
Se você usar os parâmetros de desligamento corretos, você não será bloqueado por programas abertos.

Para capturar eventos, basta abrir o agendador de tarefas e criar uma tarefa acionada no ID de evento desejado.

    
por 05.09.2013 / 00:30
1

Confira as AutoEndTasks :

Você pode configurá-lo para todos os usuários criando a chave aqui vs HKCU: HKEY_USERS.DEFAULT \ Painel de controle \ Desktop

Além disso, há alguns ajustes que podem ser feitos por meio da política de grupo, que pode ser encontrada aqui: Configuração do Computador > Modelos Administrativos > Sistema > Opções de Desligamento > Desativa a finalização automática de aplicativos que bloqueiam ou cancelam o desligamento

Opções de ajuste adicionais que você pode querer analisar são: WaitToKillServiceTimeout , WaitToKillAppTimeout , HungAppTimeOut

Eu também vou mostrar o que o MarcoZink afirmou, verifique sua Bios e verifique se não há nenhuma configuração especial configurada para o botão liga / desliga que possa estar atrapalhando.

    
por 03.09.2013 / 16:39