Resumo

Resumo

Como você impede que uma área de trabalho do Windows 10 saia do estado de suspensão/hibernação sem intervenção do usuário?

Para muitos usuários, isso não será um problema, mas, se você dorme no mesmo quarto que seu PC, é irritante ter sua máquina acordando às 3h30 para baixar atualizações.

Responder1

Resumo

Abril de 2022: criei um novo script do PowerShell que desabilitará as tarefas agendadas do Windows para ativar um dispositivo automaticamente. Use-o junto com as outras partes deste guia. Baixe em: https://github.com/seagull/disable-scheduledWaking

Há uma série de coisas que podem afetar isso. Estou ciente de que há postagens em todo este site detalhando várias maneiras diferentes de abordar o problema; esta postagem tem como objetivo consolidá-los e adicionar minha própria visão sobre o problema como alguém afetado por ele.

A correção descrita na Etapa 2 também pode ser usada para impedir que o Windows 10 reinicie a máquina após instalar as atualizações do Windows.

Essa correção também funciona para a atualização de outono (1709). Você precisará desabilitar a tarefa 'Reinicializar' novamente e reconfigurar as permissões de segurança, porque o processo de atualização a substitui.

Etapa 1: desative os despertadores para todos os perfis de energia

Blogueiros de tecnologia preguiçosos querem que você acredite que este é o fim de sua pesquisa. Embora seja verdade que esta etapa eliminará alguns desligamentos errôneos, há uma série de definições e configurações, especialmente no Windows 10, que não respeitam essa configuração, independentemente da intervenção do usuário. Vá para Control PanelPower Options. A partir daqui, escolha o perfil de energia que estiver em primeiro lugar na lista e desative os 'Temporizadores de despertar'. Trabalhe em todos os perfis.

Configurações de energia

Agradecimentos ao usuário StackExchangeolee22para a imagem.

No Windows 10, é altamente recomendável que você corrija esta configuraçãopara todos os perfis de potência, não apenas aquele que você escolheu usar. Várias faculdades do Windows usarão perfis diferentes; isso aumenta suas chances de não ser acordado.

Etapa 2: desative a reboottarefa agendada indisciplinada

A pasta de tarefas agendadas do UpdateOrchestrator do Windows 10 contém uma tarefa chamada “reinicializar”. Esta tarefa ativará seu computador para instalar atualizações, independentemente de haver alguma disponível ou não. Simplesmente remover sua permissão para ativar o computador não é suficiente; O Windows irá apenas editá-lo para obter permissão novamente depois que você sair do Agendador de tarefas.

Em seu Control Panel, entre Administrative Toolse visualize seu arquivo Task Scheduler. Entrando no Agendador de Tarefas

Agendador de tarefas

Esta é a tarefa que você deseja - em Task Scheduler LibraryMicrosoftWindowsUpdateOrchestrator. As coisas mais importantes que você deseja fazer são:

Remover permissão para tarefa para ativar o PC Desabilitar tarefa

A partir daqui, você precisará alterar as permissões da tarefa para que o Windows não possa molestá-la. A tarefa está localizada em C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator. É chamado Rebootsem extensão de arquivo. Clique com o botão direito, entre nas propriedades etorne-se o dono. Por fim, configure-o para que seja mostrado o seguinte:

Reinicialize o arquivo apenas com permissões de leitura

Aqui o arquivo é mostrado com permissões somente leitura para SYSTEM. Faça com que nenhuma conta tenha acesso de gravação, nem mesmo a sua (você sempre pode alterar as permissões mais tarde, se necessário). Certifique-se também de desabilitar quaisquer permissões herdadas para o arquivo no Advancedbotão nesta tela, para substituir quaisquer permissões existentes na pasta raiz. Isso impedirá 100% que o Windows mexa em suas alterações depois de implementá-las.

Depois de definido, você não precisará mais se preocupar com a tarefa agendada.

Se você não tiver permissões para alterar UpdateOrchestratortarefas

Alterar as UpdateOrchestratortarefas do agora requer SYSTEMpermissões, administratornem TrustedInstallerpermissões.

Uma das maneiras de contornar isso é:

  1. Instalando o próprio da MicrosoftPsTools.
  2. Abrindo Command Promptcomo administrador e em sua pasta cdlocal .PsTools
  3. Executando:
    psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
    
  4. Acessando UpdateOrchestratore desabilitando a Reboot(s) tarefa(s), conforme mencionado anteriormente.

Nota para Windows 1709 (atualização dos criadores de outono)

O processo de instalação do Windows altera as permissões dos arquivos, portanto, leia este guia novamente após a atualização.

Ouvi relatos de que uma nova tarefa é chamada AC Power Installe requer as mesmas etapas aplicadas a ela, mas não vi essa tarefa produzida em meu próprio dispositivo após instalar a atualização 16299.192 (patch Meltdown 2018-01), então não posso aconselhar com absoluto certeza. As mesmas etapas executadas acima devem funcionar em qualquer tarefa que tenha sido introduzida.

Etapa 3: verifique os despertadores no PowerShell

Você desativou a funcionalidade do despertador, mas o Windows 10 tem o hábito de não respeitar essa configuração; portanto, para garantir, executaremos um comando do PowerShell para eliminar todas as tarefas que podem, de maneira viável, ativar seu PC. Abra um prompt de comando administrativo do PowerShell (Iniciar, digite 'Powershell', Ctrl+Shift+Enter) e coloque este comando na janela:

Get-ScheduledTask | where {$_.settings.waketorun}

Execute todas as tarefas listadas e remova a permissão para ativar o computador. Você não precisa se preocupar com permissões como fizemos com Reboot; esse foi um caso periférico.

Etapa 4: verifique qual hardware pode ativar seu PC

Muito hardware USB, quando ativado, tem a capacidade de ativar seu PC (os teclados geralmente fazem isso quando as teclas são pressionadas, por exemplo); wake-on-LAN normalmente também é um problema neste cenário. Para os não iniciados, um recurso comum e útil do hardware moderno é chamado de ‘Wake on LAN’. Se o seu dispositivo estiver conectado a uma rede local por meio de um cabo Ethernet com fio (não funciona para Wi-Fi), você poderá enviar comunicações que ativarão o seu PC quando recebidas. É um recurso que uso com frequência, mas deve ser ajustado, pois seu comportamento padrão é excessivamente zeloso.

Digite o seguinte comando em um prompt de comando administrativo:

powercfg -devicequery wake_armed

Saída do prompt de comando do comando

A partir daqui, encontre os dispositivos em Device Manager( Control Panel) e, na Power Managementguia, remova a capacidade de ativar o computador. Se você tiver placas de interface de rede para as quais deseja manter o Wake-on-LAN, ative-o Only wake this device if it receives a magic packetem vez de ativar todo o tráfego enviado em sua direção.

Etapa 5: verifique a Política de Grupo apenas para ter certeza absoluta

Clique com o botão direito no menu Iniciar e selecione Run. Digitar GPEdit.MSC. Encontre a seguinte configuração em Computer ConfigurationAdministrative TemplatesWindows ComponentsWindows UpdatesEnabling Windows Update Power Managementpara ativar automaticamente o sistema para instalar atualizações agendadas. Clique duas vezes nele e defina-o como Desativado.

Desativando a funcionalidade de ativação do Windows Update

Etapa 6: Desative a ativação de sua máquina para manutenção automática

Alguém na Microsoft tem senso de humor para isso. Se você é acordado à noite pelo seu PC, a única coisa que você deseja ouvir mais do que qualquer outra coisa é o disco rígido rangendo e triturando durante a desfragmentação noturna. Desative esse recurso encontrando a Security and Maintenanceseção do arquivo Control Panel. A partir daí, expanda Maintenancee procure o link para Change Maintenance settings.

Desative a manutenção automática

Defina o horário para algo mais sociável (19h está bom) e desative a capacidade da máquina de acordar para a tarefa.

Responder2

Agora eu uso esse script paraImpedir conclusivamente que os despertadores ativem a área de trabalho do Windows 10:

# disable wake for enabled scheduled tasks that are allowed to wake
Get-ScheduledTask |
?{ $_.Settings.WakeToRun -eq $true -and $_.State -ne 'Disabled' } |
%{
    write-host $_
    $_.Settings.WakeToRun = $false;
    Set-ScheduledTask $_
}

# disable wake for devices that are allowed to wake (list of wake capable devices: powercfg -devicequery wake_from_any)
powercfg -devicequery wake_armed |
%{
    write-host $_
    if ($_ -notmatch '^(NONE)?$')
    { powercfg -devicedisablewake $_ }
}

# disable wake timers for all power schemes
powercfg -list | Select-String 'GUID' |
%{
    write-host $_
    $guid = $_ -replace '^.*:\s+(\S+?)\s+.*$', '$1'
    powercfg -setdcvalueindex $guid SUB_SLEEP RTCWAKE 0
    powercfg -setacvalueindex $guid SUB_SLEEP RTCWAKE 0
}

# disable wake for automatic updates and for automatic maintenance
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUPowerManagement', 
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\WakeUp' |
%{
    write-host $_
    $key = split-path $_
    $name = split-path $_ -leaf
    $type = 'DWORD'
    $value = 0
    if (!(Test-Path $key))
    { New-Item -Path $key -Force | Out-Null }
    if ((Get-ItemProperty $key $name 2>$null).$name -ne $value)
    { Set-ItemProperty $key $name $value -type $type }
}

Como você pode ver, ele aborda mais ou menos todas as etapas mencionadas emesseresponda, exceto pelas permissões de arquivo de tarefas agendadas. No entanto, como pretendo silenciosamentecorrereste script em cada desbloqueio/logon, espero que isso não seja um problema.

Responder3

Achei a outra resposta extremamente útil e apenas comentaria se pudesse, mas queria contribuir com um software que escrevi rapidamente para ajudar nas etapas 3 e 4 encontradas aqui:

https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

Espero que seja de alguma utilidade para algumas pessoas.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Você pode ver este pop-up e ter que clicar em "Mais informações" e depois em "Executar mesmo assim" (se não tiver certeza, sinta-se à vontade para verificar o código-fonte, afinal ele está no github): insira a descrição da imagem aqui

informação relacionada