Página principal » cómo » Cómo permitir la ejecución de scripts de PowerShell en Windows 7

    Cómo permitir la ejecución de scripts de PowerShell en Windows 7

    Cuando descargue un script fuera de Internet e intente ejecutarlo, si no ha configurado PowerShell anteriormente, se producirá un error desagradable en la fuente roja. Esto es suficiente para asustar a la mayoría de los usuarios, pero hay una solución fácil.

    PowerShell tiene varios modos de ejecución que definen qué tipo de código se permite ejecutar, esto se rige por una clave de registro que vive en la sección HKLM. Hay 4 modos de ejecución diferentes, son:

    • Restringido: Política de ejecución predeterminada, no ejecuta scripts, solo comandos interactivos.
    • Todos firmados: Ejecuta scripts; todos los scripts y archivos de configuración deben estar firmados por un editor de confianza; le abre el riesgo de ejecutar scripts firmados (pero maliciosos), después de confirmar que confía en el editor.
    • Remoto firmado: Los scripts locales se ejecutan sin firma. Cualquier script descargado necesita una firma digital, incluso una ruta UNC.
    • Irrestricto: Ejecuta scripts; todos los scripts y archivos de configuración descargados de aplicaciones de comunicación como Microsoft Outlook, Internet Explorer, Outlook Express y Windows Messenger se ejecutan después de confirmar que comprende el archivo originado en Internet; no se requiere firma digital; le abre el riesgo de ejecutar secuencias de comandos maliciosas y sin firmar descargadas desde estas aplicaciones

    La política de ejecución predeterminada de PowerShell se denomina Restringida. En este modo, PowerShell funciona solo como un shell interactivo. No ejecuta scripts y solo carga archivos de configuración firmados por un editor de confianza. Si está obteniendo el error rojo desagradable, la causa más probable es que está intentando ejecutar un script sin firmar. Lo más seguro es cambiar la Política de ejecución a no restringido, ejecutar su script y luego cambiarlo de nuevo a restringido.

    Para cambiarlo a sin restricciones, ejecute el siguiente comando desde un PowerShell administrativo:

    Set-ExecutionPolicy Unrestricted

    Se le preguntará si está seguro de que desea cambiar la Política de ejecución..

    Ahora puede ejecutar sus scripts descargados sin problemas. Sin embargo, es un grave riesgo para la seguridad si olvida establecer la Política de ejecución nuevamente en modo Restringido. Probablemente podría adivinar cómo volver a configurarlo en Restringido, pero en caso de que no lo haga:

    Set-ExecutionPolicy restringida

    Nuevamente se le preguntará si está seguro de que desea cambiar el modo de ejecución, siga adelante y presione Intro.