Desactivar PowerShell en Windows 11
Windows PowerShell es una de las herramientas más potentes integradas en el sistema operativo de Microsoft. Permite a administradores y usuarios avanzados automatizar tareas, gestionar configuraciones y controlar casi every aspecto de Windows mediante líneas de comando y scripts.
Sin embargo, debido a su poder, también es una herramienta favorita de los ciberdelincuentes para ejecutar malware sin archivos (fileless malware) o escalar privilegios. Por esta razón, algunos usuarios, administradores de sistemas o padres que buscan controlar el acceso a la PC, pueden considerar desactivar PowerShell en Windows 11.
Este artículo es una guía amplia, técnica e informativa que te explicará cómo hacerlo, los riesgos involucrados y, lo más importante, alternativas de seguridad más recomendadas que simplemente apagar la herramienta.
⚠️ Advertencia crítica antes de comenzar
Desactivar PowerShell completamente puede tener consecuencias graves en la estabilidad y funcionalidad de Windows 11.
- Actualizaciones de Windows: Algunos procesos de Windows Update dependen de PowerShell.
- Microsoft Store: Varias aplicaciones modernas (UWP) utilizan cmdlets de PowerShell para instalarse o actualizarse.
- Herramientas del Sistema: Funciones de recuperación y diagnóstico pueden dejar de funcionar.
- Software de Terceros: Algunos programas de gestión o antivirus utilizan scripts de PowerShell en segundo plano.
Recomendación: En lugar de desactivarlo por completo, se recomienda restringir su ejecución (ver sección de Alternativas Seguras al final). Proceda bajo su propio riesgo.
¿Por qué alguien querría desactivar PowerShell?
Antes de aplicar los cambios, es útil entender los motivos comunes:
- Seguridad Perimetral: Reducir la superficie de ataque. Si PowerShell no se puede ejecutar, los scripts maliciosos basados en él fallarán.
- Control Parental o Laboral: Evitar que usuarios no autorizados (niños o empleados) ejecuten comandos que puedan alterar la configuración del sistema.
- Cumplimiento de Normativas: Algunos entornos de alta seguridad requieren que las herramientas de scripting estén deshabilitadas por defecto.
Método 1: Desactivar PowerShell mediante el Editor de Directiva de Grupo (Solo Windows Pro, Enterprise o Education)
Este es el método más limpio y reversible, pero no está disponible en Windows 11 Home.
Pasos a seguir:
- Presiona las teclas
Windows + Ren tu teclado. - Escribe
gpedit.mscy presiona Enter. - En la ventana del Editor de directiva de grupo local, navega a la siguiente ruta en el panel izquierdo:
Configuración del usuario>Plantillas administrativas>Componentes de Windows>Windows PowerShell.- (Nota: También puedes hacerlo en
Configuración del equipopara aplicar la regla a todos los usuarios).
- En el panel derecho, busca la configuración llamada «Turn off Windows PowerShell» (Desactivar Windows PowerShell).
- Haz doble clic sobre ella.
- Selecciona la opción Habilitada (Enabled).
- Ojo: Aunque dice «Habilitada», estás habilitando la política de «Apagar PowerShell».
- En el cuadro de opciones que aparece abajo («Opciones»), asegúrate de que el menú desplegable seleccione «Desactivar Windows PowerShell 2.0 también» o la versión más restrictiva disponible.
- Haz clic en Aplicar y luego en Aceptar.
- Reinicia el equipo para asegurar que los cambios surtan efecto.
Para verificar: Intenta abrir PowerShell. Deberías recibir un mensaje indicando que la aplicación ha sido desactivada por la política del sistema.
Método 2: Desactivar PowerShell mediante el Editor del Registro (Para Windows 11 Home y otros)
Si tienes la versión Home de Windows, no tienes gpedit.msc. Debes usar el Registro de Windows. Haz una copia de seguridad del registro antes de continuar.
Pasos a seguir:
- Presiona
Windows + R, escriberegedity presiona Enter. Acepta el permiso de administrador. - Navega a la siguiente ruta (puedes copiar y pegar en la barra de direcciones superior):
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\PowerShell- Nota: Si las carpetas «Policies» o «PowerShell» no existen, debes crearlas haciendo clic derecho > Nuevo > Clave.
- Dentro de la carpeta
PowerShell, haz clic derecho en el espacio vacío del panel derecho. - Selecciona Nuevo > Valor de DWORD (32 bits).
- Nómbralo exactamente así:
EnableScripts. - Haz doble clic en
EnableScriptsy asegúrate de que la «Información del valor» sea 0.- 0 = Scripts deshabilitados (PowerShell bloqueado).
- 1 = Scripts habilitados.
- Cierra el editor y reinicia el equipo.
Para revertir: Vuelve a la misma clave y cambia el valor a 1 o elimina la entrada EnableScripts.
Método 3: Desactivar los Alias de Ejecución de Aplicación
Windows 11 utiliza la «Terminal de Windows» como interfaz predeterminada. A veces, desactivar el motor no es suficiente si los accesos directos siguen ahí. Puedes desactivar los alias que permiten llamar a PowerShell desde la terminal.
- Abre Configuración (
Windows + I). - Ve a Sistema > Características opcionales (o en versiones recientes: Aplicaciones > Configuración avanzada de aplicaciones > Alias de ejecución de aplicaciones).
- Busca en la lista:
powershell.exepwsh.exe(PowerShell Core)
- Desactiva los interruptores correspondientes.
Nota: Esto es una medida superficial. Un usuario con conocimientos puede aún invocar el binario directamente si el motor no está bloqueado por GPO o Registro.
Método 4: Restringir mediante Políticas de Ejecución (La Alternativa Recomendada)
En lugar de «matar» la herramienta, es mejor ponerla en «cuarentena». PowerShell tiene una función llamada Execution Policy (Política de Ejecución). Esto permite que PowerShell se abra, pero no permite ejecutar scripts no firmados o desconocidos.
Este es el método que utilizan la mayoría de los profesionales de seguridad.
Cómo configurar la Política de Ejecución Restringida:
- Abre PowerShell como Administrador (Click derecho en el botón Inicio > Terminal (Admin) o PowerShell (Admin)).
- Escribe el siguiente comando y presiona Enter:
powershell Set-ExecutionPolicy Restricted -Scope LocalMachine - Confirma con
S(Sí) cuando te lo pida.
¿Qué hace esto?
- Restricted: No se pueden ejecutar scripts. Solo se permiten comandos interactivos individuales. Es el nivel de seguridad más alto sin desactivar la herramienta.
- AllSigned: Solo se pueden ejecutar scripts firmados por un editor de confianza.
- RemoteSigned: Los scripts descargados de internet deben estar firmados, los locales pueden ejecutarse.
Esta configuración es mucho más segura que desactivar PowerShell, ya que mantiene la funcionalidad del sistema intacta pero bloquea la ejecución de código malicioso automatizado.
Alternativas de Seguridad Avanzada (Para Administradores)
Si tu objetivo es la seguridad corporativa o proteger un equipo crítico, considera estas opciones en lugar de la desactivación total:
1. Registro de Bloques de Script (Script Block Logging)
Permite que Windows registre todo el código que PowerShell intenta ejecutar, incluso si está ofuscado. Esto ayuda a detectar ataques en tiempo real.
- Se configura mediante Directiva de Grupo:
Configuración del equipo>Plantillas administrativas>Componentes de Windows>Windows PowerShell>Activar el registro del bloque de scripts.
2. Modo de Lenguaje Restringido (Constrained Language Mode)
Este modo limita PowerShell a un subconjunto de lenguaje que no permite acceder a APIs sensibles del sistema. Es ideal para entornos donde los usuarios necesitan usar PowerShell pero no deben tener control total.
3. Microsoft Defender Application Control (WDAC)
Permite crear listas blancas de aplicaciones. Puedes configurar Windows para que ningún script de PowerShell se ejecute a menos que esté firmado digitalmente por tu organización.
¿Cómo volver a activar PowerShell?
Si has desactivado PowerShell y necesitas restaurarlo (por ejemplo, para instalar una actualización fallida), sigue los pasos inversos:
- Si usaste Directiva de Grupo:
gpedit.msc> Ruta de PowerShell > «Turn off Windows PowerShell» > Selecciona No configurada o Deshabilitada.
- Si usaste el Registro:
regedit> Ruta de PowerShell > CambiaEnableScriptsa 1 o borra la clave.
- Si usaste Política de Ejecución:
- Abre PowerShell como Admin y escribe:
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine.
- Abre PowerShell como Admin y escribe:
Después de realizar los cambios, reinicia el ordenador.
Conclusión
Desactivar PowerShell en Windows 11 es técnicamente posible mediante el Editor de Directiva de Grupo o el Editor del Registro, pero conlleva riesgos significativos para la estabilidad del sistema operativo y la funcionalidad de aplicaciones modernas.
Resumen de recomendaciones:
| Nivel de Usuario | Acción Recomendada |
|---|---|
| Usuario Promedio | No tocar PowerShell. Deja que Windows Update lo gestione. |
| Usuario Preocupado por Seguridad | Establecer ExecutionPolicy en Restricted. |
| Administrador de Sistemas | Usar WDAC, Logging de Scripts y Constrained Language Mode. |
| Control Parental Estricto | Usar Directiva de Grupo para desactivar, pero monitorear fallos del sistema. |
La seguridad no se trata de eliminar herramientas, sino de gestionar sus permisos. Restringir la ejecución de scripts no firmados es casi tan efectivo como desactivar la herramienta completa, pero sin romper tu sistema operativo.
Descargo de responsabilidad: Este artículo es solo para fines educativos e informativos. El autor no se hace responsable de daños al sistema operativo o pérdida de datos derivados de la aplicación de estos cambios.
