Força a reinicialização automática mesmo com usuários logados após a instalação de atualizações no Windows 8.1 Professional

6

Eu quero uma instalação do Windows 8.1 Professional que esteja sempre em execução e acessada pelos usuários via RDP para instalar atualizações automaticamente e também reinicializar automaticamente se as atualizações exigirem, mas isso só deve acontecer na noite de sábado (a qualquer momento o sistema precisa estar em execução e disponível para usuários).

Alterei as seguintes configurações do Registro:

Em HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU :

  • AUOptions = 4 (Download automático e instalação agendada)
  • ScheduledInstallDay = 7 (sábado)
  • ScheduledInstallTime = 0 (0 horas)
  • NoAutoRebootWithLoggedOnUsers = 0 (também reinicialize com usuários logados)
  • AlwaysAutoRebootAtScheduledTime = 1 (reinicialização forçada)

Infelizmente, isso nem sempre funciona. Funcionou uma vez quando eu defini o ScheduledInstallDay para quinta-feira porque li na documentação para AlwaysAutoRebootAtScheduledTime :

When this registry value is set to 1, you are still notified of the upcoming automatic restart on the sign-in screen. However, at the end of the three-day period, the 15-minute counter begins even if the computer is locked. The restart also occurs even if the computer is locked.

Fonte: Como forçar a reinicialização automática após atualizações importantes no Windows 8 e no Windows Server 2012

Então, pensei que, se eu quiser que o sistema seja reiniciado no sábado, tenho que definir o dia agendado três dias antes disso, porque o reinício está atrasado em três dias. Mas o sistema reiniciou na quinta-feira. Por isso, configurei o dia agendado para o sábado novamente, mas agora a reinicialização não aconteceu (eu sempre tenho que esperar pela próxima atualização, que requer uma reinicialização para testar as novas configurações).

Como eu tenho que configurar o sistema para que ele sempre reinicialize na noite de sábado se uma atualização instalada exigir isso, mesmo quando um usuário estiver logado nesse momento?

Atualização : Como ainda não há resposta, estou começando a acreditar que estou em um caminho completamente errado aqui. Eu também ficaria feliz por indicações de como tal coisa deveria ser feita, por ex. Como você mantém uma máquina Windows acessada remotamente sempre atualizada quando há uma janela de tempo fixa para atualizações?

    
por Sven Koschnicke 28.07.2015 / 21:36

1 resposta

2

Isso fará o que você quiser com um script do powershell.

faça o download da função / módulo do powershell aqui link

Em seguida, edite o perfil do powershell para todos os usuários, para que a função seja carregada automaticamente. Este link explica como fazer esse link

Em seguida, crie uma tarefa agendada para executar os seguintes comandos do PowerShell

$RebootStatus = "NotSet"

$RebootStatus = Get-PendingReboot | Select WindowsUpdate | Where-Object {$_.WindowsUpdate -like "True"}

if ($RebootStatus -ne $null) {shutdown -r -f -t 60}

Basicamente, se o valor de retorno for falso, ele define $ RebootStatus como vazio, caso contrário, ele é preenchido com um valor. Ele verifica e reinicia se $ RebootStatus tiver qualquer valor diferente de $ null.

Desculpe se isso passar por cima de coisas que você já conhece.

    
por 12.08.2015 / 11:26