Solicitar contraseña al salir de suspensión en equipos Windows: script PowerShell

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

Obtén acceso

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.

Categorías:

Quizá también te interese…

×

¡Vean a NinjaOne en acción!

Al enviar este formulario, acepto la política de privacidad de NinjaOne.

Términos y condiciones de NinjaOne

Al hacer clic en el botón “Acepto” que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona “tal cual” y “según disponibilidad”, sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).