Detener de manera definitiva los temporizadores de activación del escritorio de Windows 10

231

¿Cómo se detiene un escritorio de Windows 10 que se despierta del estado de reposo / hibernado sin la intervención del usuario?

Para muchos usuarios esto no será un problema, pero si duermes en la misma habitación que tu PC, hacer que tu máquina se despierte a las 3:30 a.m. para descargar actualizaciones es irritante.

Gaviota
fuente

Respuestas:

363

Responder

Hay varias cosas que pueden afectar esto. Soy consciente de que hay publicaciones en todo este sitio que detallan varias formas diferentes de abordar el problema; Esta publicación tiene como objetivo consolidarlos y agregar mi propia visión del problema como alguien afectado por ellos mismos.

La solución descrita en el Paso 2 también se puede usar para evitar que Windows 10 reinicie la máquina después de instalar Actualizaciones de Windows.

Esta solución también funciona para la actualización de otoño (1709). Sin embargo, deberá deshabilitar la tarea 'Reiniciar' y volver a configurar los permisos de seguridad, porque el proceso de actualización la reemplaza.

Paso 1: deshabilite los temporizadores de activación para todos los perfiles de energía

Los bloggers tecnológicos perezosos te harían creer que este es el final de tu búsqueda. Si bien es cierto que este paso eliminará algunas paradas erróneas, hay una serie de configuraciones y configuraciones, particularmente en Windows 10, que no respetan esta configuración independientemente de la intervención del usuario. Vaya al Panel de control> Opciones de energía. Desde aquí, elija el perfil de energía que esté primero en la lista y desactive los 'Temporizadores de activación'. Trabajar a través de todos los perfiles.

Ajustes de energía

(Gracias al usuario de StackExchange olee22 por la imagen)

En Windows 10, se recomienda encarecidamente que corrija esta configuración para todos los perfiles de energía , no solo para el que haya elegido usar. Varias facultades de Windows usarán diferentes perfiles; Esto mejora sus posibilidades de no ser despertado.

Paso 2: deshabilite la tarea programada de "reinicio" rebelde

Nota: he creado un script de PowerShell que se puede usar para evitar que se reinicie el sistema Windows 10. Puede encontrarlo aquí: https://github.com/seagull/disable-automaticrestarts

La carpeta de tareas programadas UpdateOrchestrator de Windows 10 contiene una tarea llamada "reiniciar". Esta tarea activará su computadora para instalar actualizaciones, independientemente de si hay alguna disponible. Simplemente eliminar su permiso para activar la computadora no es suficiente; Windows simplemente lo editará para darse permiso nuevamente después de que abandone el Programador de tareas.

Desde su Panel de control, ingrese Herramientas administrativas, luego vea su Programador de tareas. Entrar al programador de tareas

Programador de tareas

Esta es la tarea que desea: en Biblioteca del Programador de tareas> Microsoft> Windows> UpdateOrchestrator. Las cosas más importantes que quieres hacer son:

Eliminar el permiso para que la tarea active la PC Desactivar tarea

A partir de aquí, deberá modificar los permisos de la tarea para que Windows no pueda molestarla. La tarea se encuentra en C: \ Windows \ System32 \ Tasks \ Microsoft \ Windows \ UpdateOrchestrator . Se llama "Reiniciar" sin una extensión de archivo. Haga clic derecho, ingrese propiedades y conviértase en el propietario . Finalmente, configúrelo para que se muestre lo siguiente:

Reiniciar archivo con solo permisos de lectura

Aquí el archivo se muestra con permisos de solo lectura para SYSTEM. Asegúrese de que ninguna cuenta tenga acceso de escritura, ni siquiera la suya (siempre puede cambiar los permisos más adelante si es necesario). También asegúrese de deshabilitar los permisos heredados para el archivo desde el botón "Avanzado" en esta pantalla, para anular los permisos existentes en la carpeta raíz. Esto DETENDRÁ 100% que Windows deje de jugar con sus cambios después de que los haya implementado.

Una vez que se haya configurado, ya no tendrá que preocuparse por esa tarea programada.

Nota para Windows 1709 (actualización de Fall Creators)

El proceso de instalación de Windows cambia los permisos para los archivos, así que asegúrese de volver a leer esta guía después de la actualización. He escuchado informes de que se realiza una nueva tarea llamada "Instalación de alimentación de CA" que requiere los mismos pasos aplicados, pero no he visto esta tarea producida en mi propio dispositivo después de instalar la actualización 16299.192 (parche Meltdown 2018-01), por lo que No puedo aconsejar con absoluta certeza. Los mismos pasos que se realizaron anteriormente deberían funcionar en cualquier tarea que se haya introducido.

Paso 3: Verifique los Wake Timers en PowerShell

Ha deshabilitado la funcionalidad del temporizador de activación, pero Windows 10 tiene la costumbre de no respetar esa configuración, por lo que, para estar seguros, ejecutaremos un comando de PowerShell para eliminar todas las tareas que pueden, de manera factible, activar su PC. Abra un símbolo del sistema administrativo de PowerShell (Inicio, escriba 'Powershell', Ctrl + Shift + Enter) y coloque este comando en la ventana:

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

Revisa todas las tareas que enumera y elimina su permiso para activar tu computadora. No debería tener que preocuparse por los permisos como lo hicimos con Reboot; Ese fue un caso periférico.

Paso 4: verifique qué hardware puede activar su PC

Una gran cantidad de hardware USB, cuando está activado, tiene la capacidad de activar su PC (los teclados a menudo lo hacen cuando se presionan las teclas, por ejemplo); wake-on-LAN también suele ser un problema en este escenario. Para los no iniciados, una característica común y útil del hardware moderno se llama 'Wake on LAN'. Si su dispositivo está conectado a una red local por medio de un cable Ethernet con cable (no funciona para Wi-Fi), puede enviar comunicaciones a través de él que activarán su PC cuando se reciba. Es una característica que uso a menudo, pero debe alinearse, ya que su comportamiento predeterminado es demasiado celoso.

Ingrese el siguiente comando en un símbolo del sistema administrativo:

powercfg -devicequery wake_armed

Salida del símbolo del sistema del comando

Desde aquí, busque los dispositivos en su Administrador de dispositivos (Panel de control) y, en la pestaña "Administración de energía", elimine su capacidad de activar su computadora. Si tiene tarjetas de interfaz de red para las que desea conservar Wake-on-LAN, habilite "Solo active este dispositivo si recibe un paquete mágico" en lugar de activar todo el tráfico enviado.

Paso 5: Verifique la Política de grupo solo para estar completamente seguro

Haga clic derecho en el menú Inicio y seleccione 'Ejecutar'. Escriba GPEdit.MSC. Busque la siguiente configuración en Configuración del equipo> Plantillas administrativas> Componentes de Windows> Actualizaciones de Windows> Habilitar Windows Update Power Management para activar automáticamente el sistema para instalar actualizaciones programadas. Haga doble clic en él y configúrelo como Desactivado.

Deshabilitar la funcionalidad de activación de Windows Update

Paso 6: deshabilite la activación de su máquina para el mantenimiento automático

Alguien en Microsoft tiene sentido del humor para este. Si su PC lo despierta por la noche, lo único que quiere escuchar más que nada es el crujido y la molienda del disco duro, ya que hace una desfragmentación nocturna. Deshabilite esta función buscando la sección "Seguridad y mantenimiento" del Panel de control. Desde allí, expanda "Mantenimiento" y busque el enlace para "Cambiar la configuración de mantenimiento".

Desactiva el mantenimiento automático

Establezca el tiempo en algo más sociable (7PM está bien) y desactive la capacidad de la máquina para despertarse para la tarea.

gaviota
fuente
15
¡Gracias! Aprecié especialmente la resolución robusta, robusta y despiadada de tomar posesión del Rebootarchivo de definición de tareas en el nivel NTFS y reducir el astuto SYSTEMusuario sórdido sórdido (ab) a simples permisos de lectura y ejecución. Un enfoque apropiado y sencillo para tener en cuenta en caso de que Microsoft decida lanzar más maquinaciones hostiles y perjudiciales para sostener las manos. Como en la gran canción del Jefe, esta mañana me desperté en un cielo vacío donde la noche anterior había nubes de datos sin guardar en el bloc de notas y las pestañas de IE. Un sistema operativo que sacrifica datos de usuario en el altar de Update & Reboot claramente falla su misión.
Lumi el
8
Aunque su respuesta es muy completa, parece efectiva, y la voté, creo que podría haberse escrito mejor, ya que varias partes son muy vagas y / o confusas (especialmente para las personas que no son expertos en informática con Windows). Caso en cuestión: ¿qué tiene que ver la información en el enlace "hazte el propietario" (que se basa en la línea de comandos) haciendo clic derecho en la tarea de reinicio y seleccionando Propiedades?
Martineau
77
Gracias por esta respuesta Este es exactamente el tipo de comportamiento por el que odio Windows 10 con todo mi corazón: cambiar la configuración a lo que cree que es bueno a pesar de que explícitamente hago clic en lo contrario. Ocurre con otras cosas también como diseños de teclado.
Dav
13
Así que acabo de actualizar a 1709 y no puedo hacer que esta tarea de reinicio muera. Incluso después de convertirme en el único propietario de esta tarea y tener permisos completos, no puedo cambiar nada sin proporcionar la contraseña para "S-1-5-18". ¿Alguna idea de cómo puedo matar esta maldita cosa?
MFH
55
@MFH tuve ese problema yo mismo y he encontrado la solución, ver superuser.com/a/1285419/118910
ohaal
26

Ahora uso este script para detener de manera concluyente que los temporizadores de activación activen el escritorio de 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 puede ver, aborda más o menos todos los pasos mencionados en esta respuesta, excepto los permisos del archivo de tareas programadas. Sin embargo, dado que tengo la intención de ejecutar silenciosamente este script en cada desbloqueo / inicio de sesión, espero que esto no sea un problema en absoluto.

mousio
fuente
¿Es un script .bat?
alm
66
Parece un script de PowerShell .ps1 que requiere permisos administrativos. Para deshabilitar las tareas programadas correctamente, incluidos los permisos, use una combinación de TASKEOWN, ICACLS y SCHTASKS en un archivo por lotes.
psouza4
No funcionó para mí :(
sergiol
La Get-ScheduledTaskparte del script falla cuando encuentra tales tareas. ¿Alguna idea de cómo solucionarlo?
thisismydesign
2
@mousio Tuve que ejecutar el script en una terminal de administración para encontrarlos. La solución fue tomar posesión de ellos y otorgar acceso total a los administradores. En cuanto a Set-ScheduledTaskes no creo que se necesita un ScheduledTaskobjeto como parámetro. ¿Esto realmente funcionó para modificar tareas? Aquí hay una referencia de otra persona que lo informa: social.technet.microsoft.com/Forums/en-US/…
thisismydesign
10

Encontré la otra respuesta increíblemente útil, y solo comentaría si pudiera, pero quería contribuir con un software que escribí rápidamente para ayudar con los pasos 3 y 4 que se encuentran aquí:

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

Esperemos que sea de alguna utilidad para algunas personas.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Puede ver esta ventana emergente y hacer clic en "Más información" y luego en "Ejecutar de todos modos" (si no está seguro al respecto, no dude en verificar el código fuente, está en github después de todo): ingrese la descripción de la imagen aquí

Eric
fuente
1
Buen trabajo, Eric.
gaviota
1
Entonces, si se trata de esta tarea programada de mantenimiento automático, ¿por qué diablos no puede volver a poner la computadora en reposo después de realizar el mantenimiento? Entonces no tendría ningún problema
Vitas