Si trabaja mucho con scripts de PowerShell, a menudo debe cambiar la política ejecutable para los scripts de PowerShell.
La política de ejecución de PowerShell es una medida de seguridad en Windows PowerShell que determina cómo y si los scripts de PowerShell (estos son archivos con la extensión .ps1) se pueden ejecutar en un sistema. Es esencialmente una configuración que ayuda a determinar qué scripts pueden ejecutarse y bajo qué condiciones.
Existen diferentes tipos de políticas de ejecución:
- Restringido: Esta es la configuración predeterminada. No se permite la ejecución de scripts.
- TodosFirmados: Todos los scripts deben estar firmados digitalmente por un editor confiable antes de poder ejecutarlos. Esto también se aplica a los guiones que haya escrito usted mismo.
- RemoteSigned: Los scripts descargados de Internet deben estar firmados digitalmente por un editor confiable. Los scripts creados localmente se pueden ejecutar sin firma digital.
- Irrestricto: Todos los scripts se pueden ejecutar, independientemente de su procedencia o si están firmados. Sin embargo, si un script proviene de Internet, se le advertirá antes de ejecutarlo.
- Evitar: No se dan advertencias ni se hacen preguntas. Todos los scripts se ejecutan sin restricciones.
- Indefinido: No hay ninguna política de ejecución establecida en el ámbito actual.
Estas políticas tienen como objetivo evitar que se ejecuten automáticamente scripts maliciosos o no deseados, lo que mejora la seguridad informática.
Cambiar la política de ejecución de PowerShell en Windows 11 o 10
Para saber qué política de PowerShell está activa actualmente, puede ejecutar el siguiente comando en PowerShell.
get-executionpolicy
Luego verá inmediatamente qué política está activa. Esto indica si puede ejecutar scripts o no. Para ejecutar scripts remotos, la política "RemoteSigned" suele ser adecuada. Entonces, si ve "Restringido" y no "RemoteSigned", no podrá ejecutar scripts externos.
Luego puedes permitir scripts externos en PowerShell de dos maneras. La primera es a través de la configuración de Windows 11.
A través de la configuración
- Abra la configuración de Windows 11.
- Haga clic en "Sistema".
- Haga clic en "Para desarrolladores".
- Haga clic en "PowerShell".
- Cambie la opción “Cambiar la política de ejecución para ejecutar scripts de PowerShell locales sin firmar. Se requiere firma para scripts remotos". Esto cambia la política a "RemoteSigned".
A través del comando PowerShell
La segunda forma de permitir todos los scripts de PowerShell es a través del propio PowerShell. Puede ejecutar el siguiente comando en PowerShell:
Set-executionpolicy remotesigned
También puedes aplicar el “Alcance” si es necesario. Esto le permite establecer una política solo para usted como usuario actual o para todos los usuarios de la computadora. El comando entonces se convierte en:
Permitir scripts remotos de PowerShell solo para el usuario actual:
Set-executionpolicy remotesigned -scope currentuser
Permitir scripts remotos de PowerShell solo para todos los usuarios:
Set-executionpolicy remotesigned -scope localmachine
Permitir scripts externos de PowerShell solo para el proceso actual de PowerShell
Set-executionpolicy remotesigned -scope process
Espero haberte informado con esto. ¡Gracias por leer!
Leer más: