Cómo Permitir la Ejecución de Scripts PowerShell (.ps1) en Windows

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Para permitir la ejecución de scripts PowerShell (.ps1) en Windows, sigue estos pasos:

  1. Abrir PowerShell como administrador
    • Presiona Win + S, escribe PowerShell, haz clic derecho y selecciona Ejecutar como administrador.
  2. Comprobar la política de ejecución actual
    Escribe el siguiente comando y presiona Enter:

    Get-ExecutionPolicy

    Esto mostrará la política de ejecución actual. Por defecto, suele ser Restricted, lo que impide la ejecución de scripts.
  3. Cambiar la política de ejecución
    Para permitir la ejecución de scripts, usa uno de estos comandos según el nivel de permisividad que desees:
    • RemoteSigned (recomendado): Permite scripts locales sin firma, pero los scripts remotos necesitan estar firmados.

      Set-ExecutionPolicy RemoteSigned
    • Unrestricted: Permite todos los scripts, pero muestra advertencias para scripts no firmados.

      Set-ExecutionPolicy Unrestricted
  4. Si no tienes permisos para cambiar la política global
    Si encuentras errores al intentar cambiar la política, puedes configurarla solo para el usuario actual con este comando:

    Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

    Poner el valor de ExecutionPolicy: 1 para permitir la ejecucion de scripts.

    Poner el valor de ExecutionPolicy: 0 para denegar la ejecucion de scripts.
  5. Confirmar el cambio
    Si aparece un mensaje de confirmación, escribe Y y presiona Enter.
  6. Verificar el cambio
    Ejecuta nuevamente:

    Get-ExecutionPolicy -List

    Esto mostrará la política aplicada en los diferentes alcances (LocalMachine y CurrentUser).
  7. Ejecutar el script
    Ve al directorio donde se encuentra el script usando cd y luego ejecútalo así:

    .\nombre_del_script.ps1

Nota de seguridad:

  • Usa la política Unrestricted solo si confías plenamente en los scripts que vas a ejecutar.
  • Puedes revertir el cambio ejecutando:

    Set-ExecutionPolicy Restricted

    o

    Set-ExecutionPolicy Restricted -Scope CurrentUser