Resumen y objetivo: en Windows 11 Home puedo fijar temporizadores con powercfg para reposo e hibernacion y funcionan correctamente, pero necesito imponer un maximo de 300 segundos para VIDEOIDLE Turn off display after, STANDBYIDLE Sleep after y HIBERNATEIDLE Hibernate after de forma que incluso administradores locales puedan escoger valores mas cortos pero no superar 5 minutos.
Restricciones del entorno: Windows 11 Home, AC y DC, sin GPO ni AppLocker, y el mantenimiento de sesiones en navegador ya esta tratado aparte.
Enfoque recomendado: usar las API de administracion de energia de Windows desde PowerShell para leer y escribir indices de valor AC y DC usando GUIDs estables en lugar de parsear salidas localizadas de powercfg. La idea es un pequeño servicio o tarea programada que ejecute un script como SYSTEM cada poco tiempo o al arranque y que aplique un clamp maximo de 300 segundos sobre los tres valores objetivo. Esto sobrevive a cambios de plan y ediciones desde la GUI siempre que el script re-aplique los indices en el esquema activo.
Como funciona a alto nivel: 1 obtener el GUID del esquema activo via API PowerGetActiveScheme 2 para cada ajuste objetivo llamar a PowerWriteACValueIndex y PowerWriteDCValueIndex con el valor maximo 300 3 llamar a PowerSetActiveScheme para forzar aplicacion de cambios 4 repetir periodicamente o en trigger.
Ventajas de la API sobre powercfg: no depende del idioma, es robusta ante cambios de nombres de planes, y trabaja directamente con los GUID estandar de subgroup y setting para VIDEOIDLE, STANDBYIDLE e HIBERNATEIDLE.
Esquema minimo del script en PowerShell usando PInvoke a powrprof dll: 1 agregar un Add-Type con las declaraciones externas para PowerGetActiveScheme PowerWriteACValueIndex PowerWriteDCValueIndex y PowerSetActiveScheme 2 definir maxSeconds igual a 300 3 definir una lista de tuplas subgroupGuid y settingGuid para los tres ajustes que se quieren controlar 4 invocar PowerGetActiveScheme para obtener el GUID del esquema activo 5 iterar las tuplas y llamar PowerWriteACValueIndex y PowerWriteDCValueIndex con maxSeconds 6 llamar PowerSetActiveScheme con el GUID activo 7 envolver en try catch y devolver codigos de salida para auditoria. Este patron evita parseo de texto y emplea GUIDs y API nativas.
Nota sobre GUIDs: los GUIDs de subgrupos y ajustes son constantes documentadas por Microsoft y deben usarse tal cual. Por ejemplo el GUID del subgrupo de video y del subgrupo de sleep y los GUID de las opciones de idle. Consultar la documentacion oficial de Power Settings GUIDs de Microsoft para copiar los valores exactos y evitar ambiguedades.
Creacion de una tarea programada recomendada: crear una tarea que se ejecute como cuenta SYSTEM con privilegios elevados, configurada para ejecutarse al inicio del sistema y con un trigger de repeticion cada 1 o 5 minutos indefinidamente o al menos cada vez que se detecte cambio. Esto asegura que si un usuario o la GUI cambia valores, el clamp se reaplique rapidamente. Alternativamente ejecutar el script desde un agente de gestion central o un servicio local.
Pasos practicos sin comandos literales para entornos con administracion local: 1 guardar el script PowerShell en C:\Scripts\ClampPowerPlan.ps1 2 abrir el Programador de tareas 3 crear tarea nueva 4 en general seleccionar Ejecutar con privilegios mas altos y Cambiar usuario o grupo e indicar cuenta SYSTEM 5 crear trigger al Inicio y adicionar un trigger en Programacion que repita cada 5 minutos indefinidamente 6 crear accion Ejecutar programa powershell con argumentos -NoProfile -ExecutionPolicy Bypass -File C:\Scripts\ClampPowerPlan.ps1 7 habilitar y probar manualmente la tarea 8 revisar eventos y logs para confirmar que los valores se aplican y persisten tras cambios manuales.
Consideraciones adicionales: - validar tanto AC como DC para portatiles - documentar excepciones de hardware que no soporten hibernacion - permitir logs en archivo local o en eventlog para auditoria y troubleshooting - en entornos con actualizaciones frecuentes ejecutar chequeos al arranque despues de cada update grande porque algunos drivers pueden cambiar comportamiento de energia.
Beneficios y impacto: enfocar la solucion con API y una tarea SYSTEM evita parsing localizado, es robusta ante cambios de GUI y plan, y garantiza que nadie pueda fijar valores por encima de 300 segundos aun siendo administrador local, sin necesidad de GPO.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especialistas en inteligencia artificial y ciberseguridad. Ofrecemos software a medida, aplicaciones a medida, servicios cloud AWS y Azure, servicios de inteligencia de negocio, consultoria en inteligencia artificial e IA para empresas, agentes IA y soluciones con Power BI. Podemos ayudar a implementar esta solucion como script gestionado, integrarlo en su portal de administracion, o desplegarlo como servicio gestionado con monitorizacion y seguridad profesional.
Palabras clave y posicionamiento: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws azure servicios inteligencia de negocio ia para empresas agentes IA power bi Q2BSTUDIO.
Resumen final y siguiente paso: si desea podemos proporcionar el script PowerShell listo para usar y la definicion de tarea programada, realizar pruebas en un equipo de laboratorio y desplegar en su flota con control centralizado. Contacte a Q2BSTUDIO para evaluacion, implementacion y soporte en despliegues a escala.
Si la descripcion original estaba vacia, titulo sugerido PowerShell on Windows 11 Home How to cap Display Sleep Hibernate at 5 minutes 300 s regardless of user changes