En Windows 11 (o 10), de forma predeterminada, cuando intenta ejecutar un script en PowerShell, fallará con el mensaje de error "no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema" . Esto se debe a que PowerShell viene con una función de seguridad de "política de ejecución" que controla cómo cargar archivos de configuración y ejecutar scripts para evitar que se ejecute código malicioso en el sistema.
Si debe ejecutar un script en Windows 11 (o 10), puede cambiar la política de ejecución para la computadora local, el usuario actual o la sesión.
Cuando configura una política de ejecución de PowerShell para la computadora local y el usuario actual, la información se almacenará en el Registro. Si establece la política para una sesión en particular, la política se mantendrá en la memoria y luego se perderá cuando cierre la sesión.
Según Microsoft , la política de ejecución no restringe la acción. Siempre puede omitir la política escribiendo el script en la interfaz de línea de comandos (CLI). La política de ejecución ha sido diseñada para ayudar a los usuarios a evitar la ejecución de scripts maliciosos.
Esta guía le enseñará cómo cambiar la política de ejecución para ejecutar scripts correctamente en PowerShell en Windows 11 o 10.
Cambiar la política de ejecución en PowerShell
Para cambiar la política de ejecución en PowerShell para ejecutar scripts correctamente en Windows 11 (o 10), siga estos pasos:
-
Abre Inicio .
-
Busque PowerShell , haga clic con el botón derecho en el resultado superior y seleccione la opción Ejecutar como administrador .
-
Escriba el siguiente comando para confirmar la política de ejecución actual y presione Entrar :
Get-ExecutionPolicy
-
(Opcional) Escriba el siguiente comando para ver las políticas de ejecución de PowerShell efectivas y presione Entrar :
Get-ExecutionPolicy-List
-
Escriba el siguiente comando para permitir que se ejecuten los scripts y presione Entrar :
Set-ExecutionPolicy RemoteSigned
-
(Opcional) Escriba el siguiente comando para evitar que se ejecuten scripts y presione Entrar :
Set-ExecutionPolicy restringido
Una vez que complete los pasos, puede ejecutar el script una vez más, y ahora debería ejecutarse correctamente en Windows 11. Si ya no desea permitir que los scripts se ejecuten en su computadora, puede ejecutar el comando opcional mencionado en los pasos.
Si desea cambiar la política de ejecución para ejecutar scripts para el usuario actual o la computadora local, debe usar la opción "Ámbito" como esta: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
o Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.
En Windows 11, puede elegir entre cuatro políticas de ejecución diferentes para permitir o denegar scripts:
- Restringido: bloquea la ejecución de cualquier script.
- RemoteSigned: permite scripts creados en la computadora. Sin embargo, los scripts creados en otro dispositivo no se ejecutarán a menos que tengan una firma de confianza.
- AllSigned: permite que se ejecuten todos los scripts. Sin embargo, solo si un editor de confianza ha incluido una firma.
- Sin restricciones: ejecuta cualquier script sin restricciones.
No necesita cambiar la política de ejecución si necesita ejecutar un script que no tiene los parámetros requeridos y no devuelve resultados. En su lugar, puede utilizar el PowerShell.exe -File "FILENAME" -ExecutionPolicy
comando Omitir para omitir las restricciones.