Fiquei farto do meu PC acordar do sono aparentemente em intervalos aleatórios e fiz todas as coisas usuais, desativando temporizadores, agendas de tarefas, proibindo a LAN e outros dispositivos, executando o powercfg / sleepstudy etc. sem sucesso.
Encontrei alguns scripts para desativar todos os timers de ativação e executei isso:
Get-ScheduledTask | ? { $_.Settings.WakeToRun -eq $true -and $_.State -ne "Disabled"} | % { $_.Settings.WakeToRun = $false; Set-ScheduledTask $_ }
Infelizmente, também executei um script para proibir qualquer dispositivo de ativar o PC que parece interromper o comando de suspensão até pressionar uma tecla e depois o desliga completamente:
(/F "tokens=*" %A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%A"
Isso produz vários erros.
Embora eu possa entender muito disso, não tenho as habilidades de programação para escrever um script para corrigi-lo :-(
Alguém aqui pode ajudar? (não é possível restaurar uma imagem do sistema no momento - emprestei minha unidade de backup + caddy a um amigo que está fora) (OK - sou um Muppett)
EDIT:
OK - eu executei o
PS C: \ WINDOWS \ system32> @echo off
para / F "tokens = *" %% A em ('powercfg -devicequery wake_armed') do (powercfg -devicedisablewake "%% A")
que deu um erro de falta '(' after keyword 'for'. Então, eu coloque um em:
PS C: \ WINDOWS \ system32> @echo desativado para (/ F "tokens = *" %% A em ('powercfg -devicequery wake_armed') do (powercfg -devicequery wake_armed ') do (powercfg -devicedisablewake "%% A").
Isso aparece ter funcionado, embora eu ainda não entenda o porquê, porque parece haver um '(' muitos .
EDIT 2 Existe uma maneira de reverter isso? Posso apenas substituir -devicedisableawake por - deviceenablewake ?
do was unexpected at this time.
:)