Puntos clave
- Solicitar contraseña al salir de suspensión es una defensa de primera línea contra los accesos no autorizados.
- El script PowerShell que analizaremos en este post automatiza el proceso de habilitación de esta función de seguridad.
- El script es especialmente útil para los profesionales de TI y los MSP que gestionan varios dispositivos.
- Es necesario ejecutar el script como administrador.
- Los métodos manuales tradicionales son menos eficientes para grandes despliegues en comparación con el script.
- Las mejores prácticas recomendadas son las pruebas en entornos controlados y las copias de seguridad periódicas del registro.
- NinjaOne puede complementar dichos scripts, ofreciendo una solución de gestión de TI centralizada.
En un entorno tan preocupado por la seguridad como el actual, proteger los datos de los usuarios se ha convertido en algo primordial. Una de las vulnerabilidades más comunes surge cuando un ordenador se deja desatendido tras salir de suspensión o hibernación. Asegurarse de que Windows requiera una contraseña después del modo de suspensión no sólo es una buena práctica, sino también una defensa de primera línea contra los accesos no autorizados.
Antecedentes
Este script está diseñado para modificar configuraciones específicas de Windows relacionadas con la administración de energía, particularmente al salir del modo suspensión o de la hibernación. La posibilidad de automatizar este proceso tiene un valor incalculable para los profesionales de TI y los proveedores de servicios gestionados (MSP) que administran varios equipos. Sin automatización, configurar esta función en numerosos dispositivos sería tedioso, propenso a errores y llevaría mucho tiempo.
El script para solicitar contraseña al salir de suspensión
#Requires -Version 2.0 <# .SYNOPSIS Enables password on wake from sleep/hibernation. .DESCRIPTION Enables password on wake from sleep/hibernation. .EXAMPLE No parameters needed. Enables password on wake from sleep/hibernation. .EXAMPLE PS C:> Set-RequirePasswordOnWake.ps1 Enables password on wake from sleep/hibernation. .OUTPUTS None .NOTES Minimum OS Architecture Supported: Windows 7, Windows Server 2012 Release Notes: Initial Release By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use. Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA). .COMPONENT LocalUserAccountManagement #> [CmdletBinding()] param () begin { function Test-IsElevated { $id = [System.Security.Principal.WindowsIdentity]::GetCurrent() $p = New-Object System.Security.Principal.WindowsPrincipal($id) if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Output $true } else { Write-Output $false } } function Set-ItemProp { param ( $Path, $Name, $Value, [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")] $PropertyType = "DWord" ) if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) { Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false | Out-Null } else { New-Item -Path $Path -ItemType Directory -Force -Confirm:$false | Out-Null New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false | Out-Null } } } process { if (-not (Test-IsElevated)) { Write-Error -Message "Access Denied. Please run with Administrator privileges." exit 1 } # Require a password when a computer wakes $Path = "HKLM:SoftwarePoliciesMicrosoftPowerPowerSettings�e796bdb-100d-47d6-a2d5-f7d2daa51f51" $ACName = "ACSettingIndex" $DCName = "DCSettingIndex" $Enable = "1" # Plugged In try { Set-ItemProp -Path $Path -Name $ACName -Value $Enable } catch { Write-Error $_ exit 1 } # On Battery try { Set-ItemProp -Path $Path -Name $DCName -Value $Enable } catch { Write-Error $_ exit 1 } } end {}
Accede a más de 300 scripts en el Dojo de NinjaOne
Análisis detallado del script para solicitar contraseña al salir de suspensión
El script proporcionado es un script PowerShell, destinado a activar el requisito de solicitar contraseña al salir de suspensión:
- Configuración preliminar: el script comienza proporcionando alguna meta-información, como su sinopsis, descripción, outputs, notas y componente.
- Definiciones de las funciones:
- Test-IsElevated: comprueba si el script se está ejecutando con derechos de administrador, esenciales para modificar las claves del registro.
- Set-ItemProp: una función de utilidad para establecer o crear una propiedad en el registro de Windows.
- Bloque de proceso: si el script no se ejecuta como Administrador, arrojará inmediatamente un error. A continuación, establece la ruta a la clave del registro de Windows responsable de la configuración de la contraseña al salir de suspensión y la modifica para los escenarios «Conectado» y «Con batería».
Posibles casos de uso
Estudio de caso: Sara, administradora de TI en una empresa mediana, tenía la tarea de asegurarse de que todos los portátiles de la empresa solicitaran una contraseña al salir del modo suspensión. En lugar de configurar manualmente cada dispositivo, utilizó este script para solicitar contraseña al salir de suspensión, ahorrando horas de trabajo y garantizando la coherencia entre dispositivos.
Comparaciones
El método tradicional para configurar esta función consiste en navegar por el Panel de control o la Configuración de Windows y cambiar manualmente las opciones de energía. Aunque es factible para máquinas individuales, resulta poco práctico para despliegues más grandes. Este script para solicitar contraseña al salir de suspensión ofrece un método escalable, eficaz y sin errores para lograr el mismo resultado.
FAQ
- ¿Necesito permisos especiales para ejecutar este script para solicitar contraseña al salir de suspensión?
Sí, debe ejecutarse como administrador. - ¿Es compatible con todas las versiones de Windows?
Es compatible con Windows 7, Windows Server 2012 y versiones más recientes. - ¿Puedo modificar el script para otros ajustes de energía?
Sí, con conocimientos adecuados del registro de Windows y PowerShell.
Implicaciones
Solicitar contraseña al salir de suspensión añade una capa de seguridad, reduciendo los riesgos asociados a los accesos no autorizados. Esta medida garantiza que las ausencias temporales, como una pausa para tomar café, no se conviertan en posibles filtraciones de datos.
Recomendaciones
- Prueba siempre los scripts en un entorno controlado antes de desplegarlos ampliamente.
- Realiza copias de seguridad periódicas del registro de Windows.
- Asegúrate de que los usuarios reciben formación sobre la importancia de las contraseñas seguras.
Reflexiones finales
NinjaOne, una plataforma integral de supervisión y gestión de TI, puede complementar aún más estos scripts. Proporciona un enfoque centralizado de la gestión de TI, garantizando que los sistemas sean seguros, conformes y eficientes. La incorporación de scripts como el comentado, destinado a solicitar contraseña al salir de suspensión, puede reforzar la eficacia de la plataforma, garantizando un entorno informático más seguro.