Búsqueda de sitios web

Cómo solucionar "la ejecución de scripts está deshabilitada en este sistema" en PowerShell en Windows 10


Si sabe cómo escribir scripts simples de PowerShell o Batch, puede automatizar bastantes cosas en Windows 10. De hecho, incluso si tiene que dedicar un poco de tiempo a escribir el script perfecto para algo, el tiempo ahorrado una vez que esté listo. Valdrá la pena el tiempo que dedicaste a escribirlo. Dicho esto, los scripts pueden ser peligrosos, ya que cuando intentas ejecutar scripts en PowerShell, recibes un mensaje de error bastante largo que básicamente te dice "la ejecución de scripts está deshabilitada en este sistema".

Esta es una medida de seguridad en PowerShell para evitar que se ejecuten scripts maliciosos que puedan dañar el sistema. Por supuesto, un script que haya escrito usted mismo no será malicioso y debería poder ejecutarse. Para solucionar este problema, debe cambiar la política de ejecución en PowerShell. Así es cómo.

Corregir la ejecución de scripts está deshabilitada en este sistema

Abra PowerShell con derechos de administrador y ejecute el siguiente comando.

Get-ExecutionPolicy -List

Esto le mostrará la política de ejecución que se ha establecido para su usuario y para su máquina. Es probable que ambas, o al menos la política CurrentUser esté configurada como Restringida.

Para corregir el error "la ejecución de scripts está deshabilitada en este sistema", debe cambiar la política para CurrentUser. Para hacer eso, ejecute el siguiente comando.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Confirme que desea realizar el cambio y podrá ejecutar el script.

Esto debería permitirle ejecutar la mayoría de los scripts; sin embargo, si sigue recibiendo el mismo error, probablemente necesite cambiar la política de ejecución de la máquina. Puede modificar el comando anterior para hacerlo, pero necesitará derechos de administrador para hacerlo.

Ejecute este comando.

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Confirme que desea realizar el cambio y luego intente ejecutar el script.

Esto debería funcionar si usted mismo escribió el script; sin embargo, si lo descargó en línea y no está firmado, entonces debe cambiar la política de ejecución a Sin restricciones. Para hacer eso, reemplace "RemoteSigned" en todos los comandos anteriores con "Sin restricciones". Tenga mucho cuidado con los scripts que ejecuta si los está descargando. Pueden ser peligrosos.

Establecer política de ejecución

Este es un comando bastante simple para configurar la política de ejecución en PowerShell. Este comando puede tener cuatro parámetros o estados diferentes: Restringido, AllSigned, RemoteSigned y Unrestricted.

El modificador -Scope define a qué se aplica el cambio de política. Cuando ingresa "CurrentUser", se aplica solo al usuario actual, y cuando ingresa "LocalMachine", se aplica a todo el sistema

Artículos relacionados