Я сыт по горло тем, что мой компьютер просыпался из сна, по-видимому, через случайные промежутки времени и делал все обычные вещи, отключая таймеры пробуждения, расписания задач, запрещая LAN и другие устройства, запуская powercfg /sleepstudy и т.д.
Я нашел несколько скриптов для отключения всех таймеров пробуждения и запустил это:
Get-ScheduledTask | ? { $_.Settings.WakeToRun -eq $true -and $_.State -ne "Disabled"} | % { $_.Settings.WakeToRun = $false; Set-ScheduledTask $_ }
К сожалению, я также запустил скрипт, запрещающий любому устройству активировать ПК, который, по-видимому, останавливает команду режима сна до нажатия клавиши, а затем полностью его выключает:
(/F "tokens=*" %A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%A"
Это приводит к нескольким ошибкам.
Хотя я могу понять многое из этого, у меня нет навыков программирования, чтобы написать скрипт для его исправления :-(
Кто-нибудь может здесь помочь? (не могу восстановить системный образ в данный момент - я одолжил свой резервный диск + кэдди отсутствующему приятелю) (ОК - я Маппетт)
РЕДАКТИРОВАТЬ: ОК - я побежал
PS C:\WINDOWS\system32> @echo off
for /F "tokens = *" %% A in ('powercfg -devicequery wake_armed') do (powercfg -devicedisablewake "%% A")
который дал ошибку отсутствующего '(' после ключевого слова 'для'. Итак, я положил один в:
PS C:\WINDOWS\system32> @echo выключен для (/F "tokens = *" %% A in ('powercfg -devicequery wake_armed') do (powercfg -devicedisablewake "%% A").
Похоже, это сработало, хотя я до сих пор не понимаю, почему, потому что, кажется, один "(" слишком много.
РЕДАКТИРОВАТЬ 2 Есть ли способ отменить это? Могу ли я просто заменить -devicedisablewake на - deviceenablewake ?