Si al escribir PowerShell te aparece un mensaje en rojo, el script no se ejecuta o la ventana se cierra al abrirla, el problema casi siempre está en la versión instalada, en la directiva de ejecución o en un módulo que falta. Esta guía cubre lo que le pasa a PowerShell en Windows 10 y Windows 11, cómo distinguir cada causa y los pasos para volver a usarlo sin romper nada.
Qué es PowerShell y para qué sirve en Windows
PowerShell es una herramienta de Microsoft que combina tres cosas en una: un shell de línea de comandos (la ventana donde escribes órdenes), un lenguaje de scripting (para escribir esas órdenes en archivos .ps1 y reutilizarlas) y un marco de automatización (para aplicar esa misma configuración a muchos equipos a la vez). A diferencia del Símbolo del sistema, que solo devuelve texto, PowerShell trabaja con objetos .NET: cuando pides la lista de procesos o de servicios, recibes un objeto con sus propiedades, no solo líneas de texto plano.
En Windows viene preinstalado Windows PowerShell 5.1, integrado en el propio sistema. PowerShell 7 es la versión más reciente, multiplataforma (se ejecuta también en Linux y macOS), y se instala aparte desde la web de Microsoft o con winget. La consola incluye además PSReadLine, que aporta el autocompletado con Tab, el historial de comandos y la predicción de la siguiente orden mientras escribes. Con PowerShell puedes automatizar desde tareas locales (renombrar archivos, listar servicios) hasta procesos de empresa con módulos como los de Azure, Exchange, SQL Server o VMware.
Por qué PowerShell falla en Windows: las causas más comunes
| Lo que ves | Causa probable | Dónde se arregla |
|---|---|---|
| "No se puede cargar porque la ejecución de scripts está deshabilitada en este sistema" | La directiva de ejecución está en Restricted y bloquea los .ps1 |
PowerShell no ejecuta scripts: cambia la directiva de ejecución |
| La ventana se abre y se cierra al instante | Acceso directo roto o una tarea programada que fuerza el cierre | PowerShell no abre o se cierra al instante: atajo y permisos |
| "No se reconoce como un cmdlet, función, archivo de script o programa ejecutable" | Falta el módulo que contiene ese cmdlet | El cmdlet no se reconoce: instalar el módulo que falta |
Doble clic sobre un .ps1 y se abre el Bloc de notas |
La asociación de archivos .ps1 apunta al Bloc de notas en vez de a PowerShell |
Windows abre los .ps1 con el Bloc de notas: reasocia los archivos |
Comprueba qué le pasa a PowerShell antes de tocar nada
Antes de aplicar ningún arreglo conviene saber qué versión tienes, qué directiva de ejecución está activa, si el módulo que necesitas está instalado y si hay algún evento en el Visor de eventos que apunte a la causa real. Cuatro comprobaciones rápidas, sin riesgo:
La versión de PowerShell que tienes y desde dónde corre
Abre en PowerShell y ejecuta los dos comandos siguientes. El primero te dice la versión exacta y la edición; el segundo, el host que estás usando. Windows PowerShell 5.1 viene con el sistema; PowerShell 7.x es la versión multiplataforma y opcional.
$PSVersionTable
Get-Host
Name Value
---- -----
PSVersion 7.4.6
PSEdition Core
OS Microsoft Windows 10.0.26100
Platform Win32NT
Si ves PSVersion 5.1, estás usando Windows PowerShell integrado. Si ves 7.x con PSEdition Core, estás en PowerShell 7.
La directiva de ejecución que tienes ahora mismo
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine Undefined
Si en LocalMachine o CurrentUser aparece Restricted, los scripts .ps1 no se ejecutarán aunque el archivo exista. Si aparece AllSigned, exigirá que cada script esté firmado digitalmente.
Si el módulo falta o no se reconoce el cmdlet
Get-Module -ListAvailable
Si el módulo que necesitas no aparece en la lista, PowerShell no lo encuentra. Para probar uno concreto, intenta importarlo:
Import-Module NombreDelModulo
Si responde sin errores, el módulo está disponible; si devuelve "No se encuentra el módulo", toca instalarlo.
Los eventos de PowerShell en el Visor de eventos
Filtra por origen PowerShell y revisa los IDs de evento y el mensaje: suelen señalar la línea exacta donde falló un script o el motivo por el que PowerShell no arrancó.
PowerShell no ejecuta scripts: cambia la directiva de ejecución
Si al lanzar un .ps1 Windows responde que la ejecución de scripts está deshabilitada, el problema es la Execution Policy. Esta política no es una medida de seguridad estricta, sino un freno para evitar ejecutar scripts por accidente; cambiarla para tu usuario no rompe nada.
Abrir PowerShell con los permisos necesarios
El título de la ventana debe decir "Administrador". Sin ese permiso, Set-ExecutionPolicy no podrá aplicar cambios en LocalMachine.
Cambiar la Execution Policy solo para tu usuario
Abre en PowerShell como administrador y ejecuta:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Cuando pida confirmación, escribe S y pulsa Enter. Después comprueba con Get-ExecutionPolicy -List que CurrentUser muestra RemoteSigned. Esta política permite scripts locales sin firma y exige firma solo en los descargados de Internet.
.ps1, debería correr sin el mensaje de error. Si sigue igual, abre PowerShell como administrador y repite el paso.Restablecer la directiva si la cambiaste mal
Abre en PowerShell como administrador y ejecuta:
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope LocalMachine
Esto devuelve Windows al valor por defecto y deja el equipo como estaba.
Get-ExecutionPolicy -List mostrará Restricted en LocalMachine, el ajuste original.PowerShell no abre o se cierra al instante: atajo y permisos
Cuando la ventana aparece y desaparece al instante, PowerShell no está roto: lo que falla es el acceso directo o algo que lo cierra de inmediato. Antes de tocar nada, descartas el problema en un minuto.
Probar PowerShell desde Ejecutar antes de tocar nada
Pulsa Win+R, escribe powershell y pulsa Enter. Si la consola se queda abierta esperando órdenes, el fallo está en el acceso directo del menú Inicio, no en PowerShell.
Devolver el acceso directo del menú Inicio a su estado normal
Borra el acceso directo roto y crea uno nuevo con destino powershell.exe (Windows PowerShell) o pwsh.exe (PowerShell 7). Evita accesos directos de terceros: pueden tener parámetros que cierren la ventana al terminar.
Revisar las tareas programadas que cierran PowerShell
Pulsa Win+R, escribe taskschd.msc y revisa la biblioteca de tareas. Si alguna tarea dispara powershell.exe con parámetros que cierran la ventana al terminar, desactívala o corrígela y deja apuntado qué cambiaste.
powershell debe mantener la consola abierta hasta que tú la cierres.El cmdlet no se reconoce: instalar el módulo que falta
Si al escribir un cmdlet PowerShell responde que no lo reconoce, el shell está correcto: lo que falta es el módulo que lo contiene. La solución es buscarlo en la Galería de PowerShell (PSGallery) e instalarlo.
Buscar el módulo en la Galería de PowerShell
Abre en PowerShell y ejecuta:
Find-Module Nombre
El resultado mostrará el nombre exacto, la versión y el autor. Evita módulos de procedencias desconocidas: instala solo los que vivan en la PSGallery por defecto.
Instalar el módulo para el usuario actual
Abre en PowerShell y ejecuta:
Install-Module -Name Nombre -Scope CurrentUser
Cuando pida confirmación con un aviso sobre un proveedor sin confianza, escribe S. Después comprueba:
Get-Module -ListAvailable Nombre
El módulo debe aparecer con su versión.
Importarlo en cada sesión o guardarlo en el perfil
Abre en PowerShell y ejecuta:
Import-Module Nombre
Si quieres que cargue solo cada vez que abres PowerShell, añade esa misma línea al perfil:
notepad $PROFILE
Guarda el archivo y reinicia PowerShell. La próxima vez, el módulo se cargará automáticamente.
Windows abre los .ps1 con el Bloc de notas: reasocia los archivos
Si al doble clic sobre un script PowerShell se abre el Bloc de notas en vez de ejecutarse, la asociación de archivos .ps1 apunta a otro programa. La solución es cambiarla desde Configuración.
Asociar los .ps1 a PowerShell desde Configuración
En Windows 10 la ruta es Configuración > Aplicaciones > Aplicaciones predeterminadas y eliges el programa para cada extensión.
Reabrir PowerShell tras el cambio y comprobar
Cierra y vuelve a abrir PowerShell. Ve a la carpeta del script y ejecuta:
.\archivo.ps1
El script debe arrancar en la consola en vez de abrirse en el Bloc de notas.
Si nada funciona: repara PowerShell y el propio Windows
Si tras probar las partes anteriores el error sigue, toca reparar la instalación. Empieza por lo menos invasivo: reinstalar PowerShell 7 si lo añadiste aparte. Si aun así el problema persiste, restaura Windows sin perder tus archivos.
Desinstalar y reinstalar PowerShell 7 si lo añadiste aparte
- Pulsa Win+R, escribe
cmdy ábrelo como administrador. - Ejecuta
winget list Microsoft.PowerShellpara ver la instalación. - Ejecuta
winget uninstall Microsoft.PowerShellpara quitarlo. - Ejecuta
winget install Microsoft.PowerShellpara volver a la última versión estable. - Abre PowerShell 7 y comprueba con
$PSVersionTableque la versión es la esperada.
Restaurar Windows sin perder archivos
Elige "Resolver problemas" para que repare la instalación sin formatear. El equipo se reiniciará varias veces y puede tardar bastante.
Lo que ya has descartado sobre los errores de PowerShell
- Si los scripts no corren, la
Execution Policyestá enRestrictedoAllSigned(Get-ExecutionPolicy -List). - Si un cmdlet no se reconoce, el módulo no está instalado o no está en
$env:PSModulePath(Get-Module -ListAvailable). - Si la ventana se cierra sola, el problema está en el acceso directo o en una tarea programada, no en PowerShell.
- Si un
.ps1abre el Bloc de notas, la asociación de archivos apunta a otro programa (Configuración > Aplicaciones predeterminadas). - Si todo lo anterior falla, reinstala PowerShell 7 con
wingeto restaura Windows sin perder archivos.
Windows PowerShell 5.1 sigue integrado en Windows 10 y 11; PowerShell 7 es la versión multiplataforma opcional, instalable desde winget o desde la web de Microsoft.
Dudas sobre PowerShell y sus errores en Windows
1. ¿Qué diferencia hay entre Windows PowerShell y el Símbolo del sistema?
El Símbolo del sistema (cmd) trabaja con comandos de texto simples y está pensado para tareas rápidas. PowerShell es una consola más moderna que usa cmdlets (Verbo-Sustantivo, como Get-Process) y maneja objetos, pipelines y scripts, por lo que sirve tanto para lo básico como para automatizar cosas en el sistema. En Windows 10 y 11 conviven y puedes abrir ambos desde el menú Win+X.
2. ¿Para qué sirve PowerShell en el día a día?
Sirve para administrar el equipo sin pulsar menús: listar servicios, apagar máquinas en red, instalar programas con winget, consultar el registro o crear scripts que automaticen tareas repetidas. Es la consola que usan administradores para gestionar Windows a fondo, y también la que abre el menú Win+X como "Terminal" en Windows 11.
3. ¿Cómo se empieza a escribir un script en PowerShell?
Un script es un archivo de texto con extensión .ps1 donde escribes los cmdlets línea a línea, por ejemplo "Get-Service | Where-Object Status -eq 'Running'". Se guarda con el Bloc de notas o Visual Studio Code y se ejecuta haciendo clic derecho sobre él o con el comando "& 'C:\ruta\script.ps1'" en la propia consola.
4. ¿Qué es la extensión de PowerShell en Visual Studio Code?
Es el complemento oficial de Microsoft llamado PowerShell Extension que añade resaltado de sintaxis, autocompletado de cmdlets, depuración paso a paso y una consola integrada (REPL) dentro de VS Code. Se instala desde el panel de extensiones escribiendo "PowerShell" y, al abrir un archivo .ps1, VS Code sugiere cambiar a este modo.
5. ¿Qué es PowerShell explicado de forma sencilla?
Es una consola de texto avanzada, sustituta del viejo Símbolo del sistema, con la que le das instrucciones a Windows escribiendo comandos. En lugar de pulsar menús, escribes lo que quieres hacer (ver procesos, copiar archivos, instalar programas) y el equipo lo ejecuta. Viene instalada por defecto en Windows 10 y Windows 11.
6. ¿Se puede eliminar Windows PowerShell del equipo?
Sí, pero no conviene: muchos programas, el propio Windows y ciertas herramientas de soporte la llaman por dentro, así que desinstalarla puede provocar errores al actualizar, al abrir el menú Win+X o al ejecutar comandos del sistema. Si solo no la usas, déjala instalada; ocupa unos 50 MB y no ralentiza nada.
7. ¿Dónde se puede aprender PowerShell gratis por Internet?
El sitio oficial Microsoft Learn tiene el curso gratuito "PowerShell on Microsoft Learn" con ejemplos interactivos desde nivel cero. También son útiles los tutoriales de la documentación de PowerShell en learn.microsoft.com y los retos de código de páginas como Hackerrank o Exercism para practicar scripts reales.
8. ¿Qué tipo de lenguaje es PowerShell?
Es un lenguaje de scripting interpretado, basado en .NET, orientado a objetos y con una sintaxis de comandos en forma verbo-sustantivo (Get-Item, Set-Service, New-Item). Está pensado para administrar sistemas Windows, aunque desde la versión 7 (PowerShell Core) también es multiplataforma y funciona en Linux y macOS.
Fuentes
- Microsofthow to install or update windows power shell on a computer that …consultado el 16/10/2026
- MicrosoftServicio Power (Power) — documentación oficialconsultado el 16/10/2026