PowerShell: la ejecución de scripts está deshabilitada en este sistema [Solución]
Mientras ejecuta un script de PowerShell, si recibe un mensaje de error, no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema, es porque la política de ejecución de PowerShell está configurada de forma predeterminada como Restringido y no permite ejecutar el script.
Lanza un mensaje de excepción como
cannot be loaded because running scripts is disabled on this systemMensaje de error de scripts de PowerShell deshabilitados como se muestra a continuación
.\Get-Printers.ps1: File CL\Get-Printers.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170PowerShell tiene implementadas funciones de seguridad integrada. La política de ejecución de PowerShell es una característica de seguridad que controla las condiciones para ejecutar scripts y cargar la configuración. La Política de ejecución en PowerShell está configurada para evitar la ejecución de scripts maliciosos en su sistema.
En este artículo, explicaré diferentes formas de arreglar que un archivo no se pueda cargar porque la ejecución de scripts está deshabilitada en este sistema.
Comprendamos cómo habilitar la ejecución del script de PowerShell utilizando diferentes políticas de ejecución.
Solución: La ejecución de scripts está deshabilitada en este sistema
La política de ejecución de PowerShell en modo Restringido evita la ejecución de scripts para garantizar la seguridad.
Consejo interesante: utilice Get-ExecutionPolicy para conocer la política predeterminada aplicada a su sistema.
Uso de la política de ejecución RemoteSigned
La política de ejecución RemoteSigned es una opción más segura. Cuando está habilitado, permite que se ejecuten scripts locales. Todos los demás scripts externos deben estar firmados por un editor de confianza.
Set-ExecutionPolicy RemoteSigned - Configurar la política de ejecución RemoteSigned
- Permite ejecutar el script local.
- Ahora, si intenta ejecutar el archivo .ps1, no le indicará que el script en ejecución está deshabilitado en este error del sistema.
Consejo interesante: ¡Cómo solucionar el error de script no firmado digitalmente en PowerShell!
Uso de la política de ejecución sin restricciones
UnRestricted es la política de ejecución predeterminada configurada en sistemas que no son Windows. Si habilitó esta política en el sistema, PowerShell puede ejecutar cualquier archivo de script sin firmar.
Puede cambiar la política de ejecución utilizando el cmdlet Set-ExecutionPolicy.
Set-ExecutionPolicy Unrestricted- Advierte al administrador sobre el cambio de política y el riesgo de seguridad asociado con el modo sin restricciones.
- Si selecciona la opción Y o Sí a todos, se aplicará la política.
- Después de configurar la política de ejecución sin restricciones, si intenta ejecutar el archivo ps1, no aparecerá el mensaje la ejecución del script está deshabilitada por error del sistema.
Consejo interesante: ¡Cómo utilizar el comando multilínea en PowerShell!
Uso de la política de ejecución ByPass
Al utilizar la política de omisión de ejecución, no se bloquea nada y, si intenta ejecutar un script, no le mostrará ninguna advertencia ni le pedirá confirmación.
Con la política ByPass, los scripts se ejecutan temporalmente con menor seguridad.
powershell -executionpolicy ByPass -File .\Get-Printers.ps1- ejecuta el archivo de script ps1 con menor seguridad y lo ejecuta.
- Una vez que cierre la sesión de PowerShell, también cerrará ByPass con ella.
Usando PowerShell ISE
Si no desea establecer una política de ejecución y aún desea ejecutar el script dentro del archivo ps1, la mejor solución es abrir el archivo de script en PowerShell ISE.
Seleccione todo el código en el script y presione el botón F8 para ejecutar el script.
Nota: No utilice F5 para la ejecución; de lo contrario, intentará ejecutar un archivo ps1 y arrojará un error de que el archivo no se puede cargar.
De esta manera, no necesitará ningún permiso ni ningún tipo de script en ejecución estará deshabilitado en este error del sistema.
Consejo interesante: ¡Cómo agregar una nueva línea a una cadena o variable en PowerShell!
Conclusión
Espero que el artículo anterior para reparar el archivo no se pueda cargar porque la ejecución de scripts está deshabilitada en este error del sistema usando la set-executionpolicy útil para resolver su problema.
Utilice la política de ejecución RemoteSigned para evitar ejecutar scripts maliciosos o, si un script es local, abra el script de PowerShell, seleccione todo el código y presione F8 para ejecutarlo.
Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.



