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 ?
fonte
do was unexpected at this time.
:)Respostas:
Isso produz vários erros.
Vamos consertar passo a passo.
O primeiro
(
não deveria estar lá.Há uma falta
for
no início.Na linha de comando, ele avaliará apenas o primeiro resultado, portanto, você precisa usar um arquivo em lotes.
Os
%
precisam ser substituídos por%%
s em um arquivo em lotes.Use o seguinte arquivo em lotes:
Leitura adicional
fonte