A veces, Windows le impedirá usar PowerShell, citando una opción que deshabilita la ejecución de scripts. Aquí se explica cómo solucionarlo.

Está ejecutando algunos comandos en PowerShell y de repente ve un mensaje de error que dice: "PowerShell no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema".

¿Se pregunta qué causa este problema y cómo puede resolverlo? Lo guiaremos a través de los métodos fáciles que pueden ayudarlo a abordar este problema de una vez por todas.

¡Vamos a sumergirnos!

1. Ejecute PowerShell en modo administrador

¿Actualmente está ejecutando PowerShell sin los derechos administrativos adecuados? Si es así, entonces tal vez ahí es donde radica el problema.

Entonces, exploremos los pasos que debe aplicar para ejecutar la herramienta en modo administrador:

  1. Prensa Ganar + X para abrir el menú de acceso rápido.
  2. Selecciona el Windows PowerShell (Administrador) opción.

Y si eso no ayuda, echa un vistazo las diversas formas de abrir Windows PowerShell

instagram viewer
. Pero solo debe concentrarse en los métodos que le muestran cómo ejecutar la herramienta con privilegios administrativos.

2. Cambiar la política de ejecución en PowerShell

En algunos casos, cambiar la política de ejecución podría ayudar. Pero antes de explorar las soluciones, primero le mostraremos qué es la política de ejecución y cómo funciona.

¿Qué es la política de ejecución y cómo funciona?

La política de ejecución es una característica de seguridad que controla la forma en que ejecuta los scripts de PowerShell en su dispositivo. Simplemente determina qué tipos de scripts se pueden ejecutar y cuáles se deben evitar. Lo mejor es que puedes configurar esta política a tu gusto.

Estas son las opciones que puede elegir al configurar la política de ejecución:

  • Restringido: esta política le prohíbe ejecutar cualquier script de PowerShell.
  • Irrestricto: le permite ejecutar cualquier secuencia de comandos, pero le muestra un mensaje de advertencia cuando ejecuta secuencias de comandos sospechosas.
  • RemotoFirmado: esta política requiere una firma digital cuando ejecuta los scripts que descargó en línea. Sin embargo, no requiere una firma para los scripts locales.
  • Derivación: Esto le permite ejecutar cualquier script sin restricciones. A diferencia de la política "Sin restricciones", la política "ByPass" no le mostrará ningún mensaje de advertencia cuando ejecute scripts sospechosos. Por lo tanto, siempre aplique esta política solo cuando ejecute scripts legítimos.
  • TodosFirmados: esta política solo ejecuta scripts firmados por un editor de confianza.

Ahora, si usa PowerShell regularmente, es posible que desee cambiar la política de ejecución de vez en cuando. Sin embargo, algunas políticas de ejecución pueden mostrar mensajes de error cuando ejecuta sus scripts de PowerShell.

Por ejemplo, habilitar las políticas "Restringido", "AllSigned" o "RemoteSigned" puede generar mensajes de error como el error "ejecutar scripts está deshabilitado".

Para resolver el problema, simplemente tendría que cambiar la política de ejecución a "Sin restricciones" o "ByPass". Pero eso no es todo; también deberá decidir cómo debe implementarse la política. Por ejemplo, ¿quiere aplicar la política para todos los usuarios o solo para su sesión actual de PowerShell?

Exploremos todo lo adicional Comandos de PowerShell tendrá que agregar al cambiar la política de ejecución:

  • Usuario actual: esta política solo se aplicará a todas las sesiones de PowerShell de la persona que haya iniciado sesión actualmente en el dispositivo.
  • Máquina local: Se aplica a todos los usuarios que tienen una cuenta en el dispositivo. Esta política solo puede ser configurada por usuarios locales que tengan privilegios administrativos.
  • Proceso: solo se aplica en la sesión actual de PowerShell. Esto significa que tendrá que ejecutar la política nuevamente si inicia una nueva sesión.
  • MachinePolicy: Esta política se aplica a todos los usuarios que tienen una cuenta en su dispositivo. Sin embargo, solo pueden configurarlo los administradores de red que tengan los permisos apropiados. Pero a menudo es posible que los administradores locales configuren esta política de ejecución mediante el Editor de políticas de grupo local.
  • Política de usuario: se aplica a todas las sesiones de PowerShell y los scripts ejecutados por un usuario en particular.

Ahora que todo está claro, exploremos cómo puede ejecutar las políticas relevantes para abordar el problema "PowerShell no se puede cargar".

Cómo cambiar la política de ejecución a "sin restricciones"

La mejor manera de abordar el problema en cuestión es cambiar la política de ejecución a "sin restricciones". Pero antes de eso, debe verificar cómo está configurada cada política de ejecución.

Estos son los pasos para verificar cómo se configuran las políticas de ejecución:

  1. Prensa Ganar + X para abrir el menú de acceso rápido.
  2. Seleccionar Windows PowerShell (Administrador) de las opciones.
  3. Escribe el siguiente comando y presiona Ingresar:
Get-ExecutionPolicy -Lista

Esto debería mostrarle cómo se configuran las políticas de ejecución para diferentes usuarios y sistemas.

Para cambiar la política de ejecución a "Sin restricciones" para el usuario activo actual, escriba el siguiente comando y presione Ingresar:

Colocar-ExecutionPolicy sin restricciones -Alcance Usuario actual

Para cambiar la política de ejecución a "Sin restricciones" para todos los usuarios, escriba el siguiente comando y presione Ingresar:

Colocar-ExecutionPolicy sin restricciones -Alcance Máquina local

Cuando termine de ejecutar el comando, cierre PowerShell y reinicie su PC para guardar estos cambios.

Cómo cambiar la política de ejecución a "ByPass"

La política de ejecución "ByPass" le permitirá ejecutar cualquier script de PowerShell sin problemas. Pero recuerde que también puede permitirle ejecutar archivos con errores. Por lo tanto, configure siempre esta política de ejecución solo cuando ejecute archivos de PowerShell confiables.

Para cambiar la política de ejecución a "ByPass" para el usuario activo actual, escriba el siguiente comando y presione Ingresar:

Colocar-Omisión de política de ejecución -Alcance Usuario actual

Y para cambiar la política de ejecución a “ByPass” para todos los usuarios, escriba el siguiente comando y presione Ingresar:

Colocar-Omisión de política de ejecución -Alcance Máquina local

Cuando termine, cierre PowerShell y luego reinicie su dispositivo.

3. Cambiar la política de ejecución a través del editor de políticas de grupo local

El Editor de políticas de grupo local (LGPE) también le facilita cambiar la política de ejecución. De hecho, esta herramienta también puede ayudarlo a configurar varias configuraciones del sistema o solucionar muchos problemas de la PC.

Recuerde, el objetivo principal es cambiar la política de ejecución para que pueda ejecutar sus scripts de PowerShell sin problemas. Y al hacerlo, eliminará el error "la ejecución de scripts está deshabilitada" en PowerShell.

Aquí se explica cómo cambiar la política de ejecución en la LGPE:

  1. Tipo Editar política de grupo en la barra de búsqueda del menú Inicio y seleccione el Mejor partido. Alternativamente, echa un vistazo las distintas formas de abrir la LGPE.
  2. Navegar a Configuración del equipo > Plantillas administrativas > Componentes de Windows > Windows PowerShell.
  3. Haga doble clic en el Activar la ejecución de secuencias de comandos opción.

Comprobar el Activado caja. Desde allí, haga clic en el Política de Ejecución menú desplegable y seleccione Permitir scripts locales y scripts firmados remotos. Esta opción es similar a la opción "RemoteSigned" que descubrimos anteriormente.

Si desea ejecutar todos los scripts sin restricciones, elija el Permitir todos los scripts opción del menú desplegable "Política de ejecución".

Desde allí, haga clic en Aplicar y luego haga clic DE ACUERDO para guardar estos cambios.

4. Cambiar la política de ejecución mediante el Editor del registro

Si los otros métodos no ayudaron, intente cambiar la política de ejecución usando el Editor del Registro. Sin embargo, debe tener cuidado al editar las claves del Registro. Si modifica las teclas incorrectas, podría terminar dañando su PC.

Ahora, aquí se explica cómo cambiar la política de ejecución a través del Editor del Registro:

  1. Prensa Ganar + R para abrir el cuadro de diálogo del comando Ejecutar.
  2. Tipo Regeditar y presiona Ingresar para abrir el Editor del Registro.
  3. Copie y pegue el siguiente comando en la barra de direcciones y presione Ingresar:
HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\Potencia Shell\1\ShellIds\microsoft.Potencia Shell

Localiza el Política de ejecución valor en el lado derecho.

Si falta el valor, créelo siguiendo estos pasos:

  1. Haga clic derecho en un espacio en blanco en el lado derecho.
  2. Seleccionar Nuevo > Valor DWORD (32 bits).
  3. Nombra el valor como Política de ejecución y presiona Ingresar.

Haga doble clic en el Política de ejecución valor. A continuación, escriba RemotoFirmado en la sección "Datos de valor". Esto permitirá que PowerShell ejecute scripts locales y firmados.

Alternativamente, escriba Derivación en la sección "Datos de valor". Esto permitirá que PowerShell ejecute cualquier script sin limitaciones.

Después de ingresar su valor preferido en la sección "Datos del valor", presione DE ACUERDO para guardar los cambios. Finalmente, cierre el Editor del Registro y luego reinicie su dispositivo.

Ejecute sus scripts de PowerShell sin restricciones

Puede ser bastante frustrante cuando de repente no puede ejecutar ciertos comandos en Windows PowerShell. Pero si se encuentra con el error "los scripts están deshabilitados", las soluciones que hemos cubierto deberían ayudar.

Ahora, ¿PowerShell a menudo le da otros problemas? Bueno, hay más soluciones que pueden ayudarte.