Cómo solucionar el error de PowerShell: You cannot run this script on the current system

Cómo solucionar el error de PowerShell: You cannot run this script on the current system

Informática

Si ejecutamos scripts de PowerShell, a veces, nos encontraremos con un error con un mensaje parecido a:

“script.ps1 cannot be loaded. The file ruta.fichero.ps1 is not digitally signed. You cannot run this script on the current system. The script will not execute on the system.”

En realidad, se trata de un error de seguridad que se produce habitualmente cuando el script que estamos intentando ejecutar está sin firmar. Aunque hay más casos.

Este es un buen momento para asegurarnos de que el script es de fiar. Si lo es, podemos cambiar el comportamiento del sistema para que lo admita. Eso sí, ten en cuenta que estamos desactivando temporalmente una función de seguridad importante.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Este comando hace que la PowerShell actual se salte la política de ejecución. Si cerramos y volvemos a abrir la sesión de PowerShell la política de seguridad volverá a ser la predeterminada.

Si queremos conocer la execution policy actual podemos ejecutar:
Get-ExecutionPolicy

En vez de Bypass, también tenemos otros modificadores:

Restricted: configuración por defecto que no permite cargar ni ejecutar scripts.

AllSigned: requiere que todos los scripts (incluidos los creados en un ordenador local) estén firmados por un desarrollador de confianza.

RemoteSigned: requiere que todos los scripts y los ficheros de configuración bajados desde internet estén firmados por un desarrollador de confianza.

Unrestricted: permite cargar todos los ficheros de configuración y todos los scripts, pero te puede pedir confirmación antes de ejecutar los scripts no firmados bajados de internet.

Bypass: no se bloquea nada ni tampoco saltarán mensajes ni alarmas.

Undefined: restaura la “execution policy” por defecto de la sesión.


Desbloquear un fichero descargado

Lo que hemos visto arriba es una solución temporal. Cuando la política de ejecución está configurada en RemoteSigned (o más estricta), los ficheros que descargamos de internet o de emails están bloqueados (blocked) por defecto.

Si nos fiamos del contenido, lo que tenemos que hacer es desbloquearlos (unblock) ejecutando.
Unblock-File -Path C:\Downloads\script1.ps1

También podemos hacerlo de manera gráfica haciendo clic derecho encima del fichero .PS1, en propiedades y eligiendo la casilla de Desbloqueo (Unblock).

Así los podremos ejecutar sin tener que cambiar temporalmente la policy.

Te puede interesar...

Un AMD Ryzen 9 3950X overclockeado a 5 GHz destroza al Intel i9-9960X que lo dobla en precio
Fuente: este post proviene de WikiVersus, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

¿Qué es el proceso trimming de una unidad SSD? El trim o trimming de una unidad SSD es un proceso que ayuda a mantener el rendimiento de una unidad de estado sólido a lo largo del tiempo. El trim o r ...

Etiquetas:

Recomendamos