Guía paso a paso para cambiar la política de ejecución de scripts de PowerShell

Guía paso a paso para cambiar la política de ejecución de scripts de PowerShell
  • Para modificar la política de ejecución de PowerShell, inicie PowerShell (administrador) y ejecute el comando “Set-ExecutionPolicy RemoteSigned” para habilitar la ejecución de scripts. Como alternativa, el comando “Set-ExecutionPolicy AllSigned” permite solo scripts de editores verificados. El comando “Set-ExecutionPolicy Unrestricted” , por otro lado, permite que todos los scripts se ejecuten libremente.
  • Si desea volver a la configuración predeterminada, utilice el comando “Set-ExecutionPolicy Restricted” para prohibir por completo la ejecución del script.
  • También puede ajustar los permisos del script de PowerShell a través de la aplicación Configuración de Windows 10 o 11.

De forma predeterminada, en Windows 10 o 11, intentar ejecutar un script en PowerShell puede generar un mensaje de error que indique “no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema” . Este error se produce debido a una política de ejecución implementada por razones de seguridad, que controla cómo se ejecutan los scripts y los archivos de configuración para evitar actividades maliciosas en el sistema.

Para ejecutar un script en estos sistemas operativos, tiene la opción de cambiar la política de ejecución para la máquina local, el usuario actual o la sesión en sí.

Al configurar una política de ejecución para el usuario actual o la máquina local, esta información se almacena en el Registro de Windows. Sin embargo, si configura la política solo para una sesión, ese cambio solo se mantendrá hasta que cierre PowerShell.

Como afirma Microsoft , estas políticas de ejecución no imponen restricciones a las actividades. Puedes eludirlas temporalmente introduciendo el script directamente en la línea de comandos. La intención detrás de estas políticas es ayudar a los usuarios a evitar la ejecución de scripts dañinos.

Esta guía proporcionará instrucciones detalladas sobre cómo modificar su política de ejecución para permitir la ejecución exitosa de scripts dentro de PowerShell en Windows 10 o 11.

Modificar la política de ejecución en Windows 11 a través de PowerShell

Para cambiar la política de ejecución de PowerShell en Windows 10 o 11, siga estos pasos:

  1. Presione Inicio en su dispositivo Windows 11.

  2. Busque PowerShell , haga clic derecho en el resultado superior y seleccione Ejecutar como administrador .

  3. Ingrese el siguiente comando para verificar la política de ejecución actual y presione Enter :

    Get-ExecutionPolicy

  4. (Opcional) Para enumerar las políticas de ejecución de PowerShell efectivas, escriba el siguiente comando y presione Entrar :

    Get-ExecutionPolicy -List

  5. Para permitir que se ejecuten scripts en su máquina con Windows 11, ingrese el siguiente comando y presione Entrar :

    Set-ExecutionPolicy RemoteSigned

  6. (Opcional) Para evitar que se ejecuten scripts, puedes ingresar este comando y presionar Enter :

    Set-ExecutionPolicy Restricted
    Política de ejecución de cambios de PowerShell

Después de completar los pasos, debería poder ejecutar el script correctamente en Windows 11. Si en algún momento desea revertir los permisos de ejecución del script, puede ejecutar el comando opcional descrito anteriormente.

Si necesita configurar la política de ejecución para permitir la ejecución del script solo para el usuario actual o el dispositivo local, puede usar la opción “Alcance” con su comando, de la siguiente manera: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUsero Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.

En Windows 11, tienes cuatro políticas de ejecución para controlar qué scripts pueden ejecutarse:

  • Restringido: evita que se ejecuten todos los scripts.
  • RemoteSigned: permite scripts creados localmente, pero requiere que los scripts de otras máquinas estén firmados por un editor confiable.
  • AllSigned: permite todos los scripts, siempre que estén firmados por una fuente confiable.
  • Sin restricciones: permite que cualquier script se ejecute sin limitaciones.

Si su secuencia de comandos no requiere parámetros específicos y no ofrece resultados, es posible que no sea necesario modificar la política de ejecución. En cambio, puede utilizar el comando PowerShell.exe -File "FILENAME"-ExecutionPolicy Bypasspara eludir las restricciones.

Modificar la política de ejecución en Windows 11 a través de Configuración

En Windows 10 y 11, también puedes cambiar los permisos de los scripts de PowerShell a través de la aplicación Configuración.

Para Windows 11

Para actualizar la política de ejecución mediante la aplicación Configuración, siga estos pasos:

  1. Abra Configuración .

  2. Seleccionar Sistema .

  3. Vaya a la sección Para desarrolladores .

  4. Haga clic en la opción PowerShell .

  5. Active la opción “Cambiar la política de ejecución para permitir scripts de PowerShell locales […]” .

    La configuración de Windows 11 cambia la ejecución de PowerShell

Si decide que ya no desea que esta opción esté habilitada, simplemente siga los mismos pasos y en el paso 5 , desactive el interruptor.

Para Windows 10

Para actualizar la política de ejecución de PowerShell a través de la aplicación Configuración, siga estos pasos:

  1. Abra Configuración .

  2. Seleccione Actualización y seguridad .

  3. Vaya a la sección Para desarrolladores .

  4. Habilite la opción “Cambiar la política de ejecución para permitir scripts locales de PowerShell […]” dentro de la configuración de PowerShell.

    La configuración de Windows 10 cambia la ejecución de PowerShell

  5. Haga clic en el botón Aplicar para guardar los cambios.

Si desea desactivar esta función, repita los mismos pasos pero en el paso 4 , desactive la opción y aplique los cambios.

Después de completar los pasos, la política de ejecución de PowerShell se establecerá en “RemoteSigned”, lo que le permitirá ejecutar scripts locales sin requerir una firma, al tiempo que insiste en la verificación de los scripts remotos.

Modificar la política de ejecución para ejecutar scripts no firmados

Si encuentra un script de PowerShell que se originó en otra computadora o se descargó en línea, intentar ejecutarlo puede generar un error que indique “No se puede cargar el archivo […].ps1. El archivo […].ps1 no está firmado digitalmente. No puede ejecutar este script en el sistema actual” o “El script no se ejecutará en el sistema” . Sin embargo, si está seguro de su seguridad y la fuente es confiable, puede ajustar la política de alcance “Proceso” para autorizar su ejecución.

Error en el script de PowerShell que no está firmado digitalmente
Error en el script de PowerShell que no está firmado digitalmente / Imagen: Mauro Huculak

Para cambiar la política de ejecución de PowerShell para permitir la ejecución de un script “.ps1” no firmado digitalmente, siga estos pasos:

  1. Abra Inicio .

  2. Busque PowerShell , haga clic derecho en el resultado superior y elija Ejecutar como administrador .

  3. Para modificar la política y permitir scripts de PowerShell no firmados, ingrese el siguiente comando y presione Enter :

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    PowerShell permite que los scripts no estén firmados digitalmente

Después de ejecutar estos pasos, ejecute el archivo de script con el comando .\Your-PowerShell-Script.ps1durante la sesión actual. Tenga en cuenta que una vez que cierre la sesión de PowerShell, la política de ejecución se restablecerá a su estado anterior, lo que evitará que se ejecuten otros scripts sin realizar más ajustes.

Si necesita ejecutar otro script, puede repetir los pasos descritos.

Actualización 10 de octubre de 2024: Esta guía se ha revisado para garantizar su precisión y reflejar las adaptaciones recientes en el proceso.

Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *