- PowerShell 7 se instala en paralelo a Windows PowerShell 5.1 y ofrece mejoras clave en rendimiento, compatibilidad y lenguaje.
- Windows 11 permite instalar y actualizar PowerShell 7 mediante WinGet, MSI, MSIX, ZIP o como herramienta global de .NET.
- Cada método de instalación tiene ventajas y limitaciones específicas, especialmente en escenarios de remoting y administración corporativa.
- Conocer el valor de $PSHOME ayuda a identificar cómo se instaló PowerShell y qué vía usar para actualizarlo o desinstalarlo.
Si usas Windows 11 a diario y te manejas con scripts de PowerShell en Windows 11 o tareas de administración, tarde o temprano te interesará actualizar PowerShell a una versión más moderna. El sistema sigue viniendo con Windows PowerShell 5.1 preinstalado, que para muchos usuarios es suficiente, pero hoy en día existe PowerShell 7, multiplataforma, de código abierto y con un buen puñado de mejoras muy orientadas a administradores y usuarios avanzados.
En este artículo vamos a ver, paso a paso y con todo lujo de detalles, cómo instalar y actualizar PowerShell 7 en Windows 11, qué métodos de instalación están disponibles (WinGet, MSI, MSIX, ZIP, herramienta global de .NET), cómo se actualiza en cada caso, qué limitaciones tiene cada formato y qué diferencia hay entre el PowerShell clásico que trae Windows y el nuevo. La idea es que tengas una guía completa para elegir el método que más encaje con tu forma de trabajar.
Qué es PowerShell y por qué interesa actualizar en Windows 11
PowerShell es una consola de comandos y entorno de automatización avanzado de Microsoft, mucho más potente que el símbolo del sistema (CMD). Nació como una herramienta pensada para administradores de sistemas Windows, con soporte para scripts (.ps1), automatización masiva de tareas y control de un montón de componentes del sistema y de aplicaciones Microsoft como SQL Server, Exchange o IIS, entre otros.
Durante años, la versión integrada en Windows estuvo basada en .NET Framework y era propietaria y exclusiva de Windows. Esa es la rama que conocemos como Windows PowerShell, cuya última versión es la 5.1 y que sigue viniendo preinstalada en Windows 10 y Windows 11. Es una consola muy capaz, y para un uso puntual o básico suele ser más que suficiente.
Sin embargo, el proyecto ha evolucionado. El soporte actual se centra en PowerShell 7, desarrollado principalmente en C# y basado en .NET (Core). Esta rama es de código abierto, multiplataforma (Windows, Linux, macOS) y se distribuye con su propio ciclo de versiones. En Windows 11, PowerShell 7 no sustituye automáticamente a la versión 5.1, sino que se instala aparte y convive con ella.
Esto significa que, aunque tengas Windows 11 recién instalado, seguirás teniendo por defecto la versión 5.1. Si quieres aprovechar las últimas funciones, mejoras de rendimiento y novedades del lenguaje, tendrás que instalar o actualizar manualmente a la versión 7.x más reciente.
Diferencias entre Windows PowerShell 5.1 y PowerShell 7
Lo primero que conviene tener claro es que PowerShell 7 no reemplaza a Windows PowerShell 5.1. Se instala en un directorio independiente (normalmente en Program Files) y se ejecuta en paralelo. Tendrás, por tanto, dos consolas diferentes: la clásica de Windows (powershell.exe) y la nueva (pwsh.exe).
Muchos módulos creados originalmente para Windows PowerShell pueden seguir ejecutándose en PowerShell 7 gracias a una capa de compatibilidad con módulos de Windows. No obstante, algunos módulos específicos del sistema solo funcionan correctamente en la 5.1 y tendrás que seguir usándolos desde la consola clásica. La compatibilidad es alta, pero no absoluta.
Donde PowerShell 7 marca realmente la diferencia es en las mejoras de rendimiento, nuevas características de lenguaje y cmdlets adicionales. Algunas de las novedades más interesantes que aporta frente a PowerShell 5.1 son:
- Pipeline Parallelism: permite procesar elementos en paralelo, lo que acelera de forma muy notable scripts que manejan muchos ficheros o varios servidores a la vez. Tareas que antes llevaban horas pueden pasar a durar minutos.
- Nuevos operadores: facilitan escribir código más limpio y compacto, reduciendo estructuras if/else repetitivas. Esto hace que los scripts sean más legibles, fáciles de mantener y menos propensos a errores.
- Get-Error y vistas concisas: un nuevo cmdlet y modos de visualización que muestran los errores de manera mucho más detallada y bien formateada, sin tener que rebuscar en logs complejos. Ideal para depurar scripts y automatizaciones.
- Nuevos cmdlets y funciones como ConciseView y mejoras continuas en la experiencia de consola, que van ampliando el alcance y la versatilidad de PowerShell 7 con cada versión estable.
- Notificaciones de nuevas versiones: la propia consola puede avisarte cuando hay una versión más reciente disponible, de modo que no tengas que ir comprobando manualmente.
En resumen, si utilizas de forma intensiva scripts y administración desde consola, dar el salto a PowerShell 7 en Windows 11 te abre muchas posibilidades, manteniendo al mismo tiempo la versión 5.1 para aquellos módulos que todavía la requieren.
Métodos de instalación y actualización de PowerShell 7 en Windows 11
En Windows 11 tienes varios caminos posibles para instalar y actualizar PowerShell 7. Cada método está pensado para escenarios y flujos de trabajo diferentes, así que lo ideal es elegir el que mejor encaje contigo o con tu organización.
Los métodos principales admitidos oficialmente por Microsoft son:
- WinGet: el Administrador de paquetes de Windows. Es la forma recomendada en equipos cliente modernos para instalar y actualizar PowerShell de manera sencilla desde línea de comandos.
- Paquete MSI: la opción clásica de instalador para Windows, muy adecuada para despliegues empresariales, servidores y escenarios donde necesitas un control fino de parámetros (por ejemplo, por GPO o scripts de instalación).
- Paquete MSIX / Microsoft Store: instalación cómoda para usuarios más casuales, con actualizaciones automáticas integradas en Windows. A cambio, tiene varias limitaciones importantes en cuanto a sandbox, perfiles y remoting.
- Paquete ZIP: pensado para escenarios avanzados, donde necesitas cargar varias versiones en paralelo, entornos tipo Windows Server Core, Windows IoT o arquitecturas Arm, sin instalador clásico.
- Herramienta global de .NET: opción cómoda para desarrolladores que ya usan otras herramientas globales de .NET y quieren gestionar PowerShell 7 dentro de ese ecosistema.
Todos estos métodos están soportados por Microsoft. Existen otras formas de instalar PowerShell desde herramientas de terceros, pero no cuentan con soporte oficial, aunque puedan funcionar en muchos casos.
Instalar o actualizar PowerShell 7 con WinGet en Windows 11
WinGet es el Administrador de paquetes de Windows. En Windows 11 y Windows Server 2025 viene incluido como parte de la aplicación App Installer, así que no tienes que instalar nada extra: basta con abrir cualquier consola (CMD, Windows PowerShell o PowerShell 7, preferiblemente como administrador) y usar el comando winget.
WinGet permite buscar, instalar, actualizar, desinstalar y configurar aplicaciones desde línea de comandos. En el caso de PowerShell, es probablemente la forma más cómoda de asegurarte de que tienes siempre la versión estable más reciente con apenas un par de comandos.
Para localizar la última versión disponible de PowerShell en el repositorio oficial, puedes ejecutar:
winget search –id Microsoft.PowerShell –exact
En la salida verás la versión actual publicada en el origen «winget». Desde PowerShell 7.6.0, WinGet instala por defecto el paquete MSIX cuando usas el identificador principal. Si quieres instalar la versión estable normal con MSIX, el comando sería:
winget install –id Microsoft.PowerShell –source winget
Si prefieres instalar el paquete MSI en lugar de MSIX, puedes indicarlo de forma explícita con el parámetro correspondiente:
winget install –id Microsoft.PowerShell –source winget –installer-type wix
Para probar versiones preliminares (preview) de PowerShell 7, WinGet también ofrece un paquete separado. Puedes instalar la rama de pruebas con:
winget install –id Microsoft.PowerShell.Preview –source winget
Ten en cuenta que, a partir de PowerShell 7.7.0, no existe paquete MSI para las versiones nuevas de esa rama y WinGet solo instala el paquete MSIX en esos casos. En cualquier momento, si quieres actualizar la versión ya instalada mediante WinGet, puedes comprobar si hay una versión más nueva con:
winget list –id Microsoft.PowerShell –upgrade-available
Si aparece que hay una actualización disponible, bastará con ejecutar:
winget upgrade –id Microsoft.PowerShell
WinGet respetará, en la medida de lo posible, el mismo formato de paquete (MSI o MSIX) que se utilizó en la instalación original, si esa opción sigue disponible en la versión nueva.
Instalación de PowerShell 7 con paquete MSI
El instalador MSI es la alternativa clásica para quienes prefieren descargar el archivo desde GitHub y ejecutarlo como cualquier otro programa. Es especialmente útil en entornos corporativos y servidores, donde puede desplegarse con herramientas de gestión centralizada.
Desde la página oficial de versiones en GitHub puedes descargar la última versión estable de PowerShell 7 en formato MSI para la arquitectura de tu equipo (x64 o Arm64). Una vez descargado el archivo, basta con hacer doble clic sobre él y seguir el asistente de instalación, aceptando las opciones que se ajusten a tus necesidades.
El paquete MSI permite además un nivel de configuración muy avanzado desde línea de comandos, perfecto para administradores que quieran automatizar instalaciones silenciosas con parámetros específicos. Algunas de las propiedades más importantes que admite el MSI son:
- USE_MU: controla si PowerShell 7 se actualiza a través de Microsoft Update, WSUS o Configuration Manager. Valor 1 para habilitar (opción por defecto) y 0 para no participar en estas actualizaciones.
- ENABLE_MU: ajusta la opción relacionada con la integración de Microsoft Update en el propio instalador.
- ENABLE_PSREMOTING: indica si se activa la comunicación remota de PowerShell (PowerShell Remoting) durante la instalación.
- REGISTER_MANIFEST: controla el registro del manifiesto de eventos de Windows para que PowerShell pueda registrar sucesos.
- ADD_PATH: añade PowerShell a la variable de entorno PATH de Windows para poder ejecutar pwsh desde cualquier consola o ruta.
- DISABLE_TELEMETRY: permite desactivar la telemetría de PowerShell estableciendo la variable de entorno correspondiente.
- INSTALLFOLDER: define el directorio base de instalación. Por defecto suele ser $Env:ProgramFiles\PowerShell\, y dentro de esta ruta el instalador crea una subcarpeta con la versión (por ejemplo, «7» o «7-preview»). El nombre de esa subcarpeta no puede modificarse.
Si quieres realizar una instalación silenciosa con la mayoría de opciones activadas, puedes montar un conjunto de parámetros y pasárselos a msiexec.exe. Un ejemplo típico sería algo como:
$msiParams = @( ‘/package PowerShell-7.6.4-win-x64.msi’, ‘/quiet’, ‘ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1’, ‘ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1’, ‘ENABLE_PSREMOTING=1’, ‘REGISTER_MANIFEST=1’, ‘USE_MU=1’, ‘ENABLE_MU=1’, ‘ADD_PATH=1’ )
msiexec.exe @msiParams
Con este enfoque puedes desplegar PowerShell 7 a gran escala sin interacción del usuario, ideal para scripts de instalación en empresas. Para consultar todas las opciones que admite msiexec.exe, siempre puedes revisar la documentación oficial de línea de comandos del propio MSI de Windows.
Instalar PowerShell 7 desde archivo ZIP
Otra opción es utilizar los archivos ZIP binarios que Microsoft publica en cada versión. Estos paquetes están pensados para escenarios avanzados de despliegue donde no quieres o no puedes usar un instalador clásico (por ejemplo, en Windows Server Core, Windows IoT o algunas configuraciones con Arm).
El proceso es sencillo: descargas el ZIP de la versión deseada desde la página de lanzamientos, lo guardas en tu equipo y, si es necesario, lo desbloqueas con el cmdlet Unblock-File (esto evita problemas de seguridad al extraer contenidos descargados de Internet). Después, descomprimes su contenido en la carpeta que prefieras y ejecutas pwsh.exe desde ahí.
A diferencia del paquete MSI, la instalación vía ZIP no comprueba dependencias ni requisitos previos, por lo que si quieres usar características como la comunicación remota vía WSMan tendrás que asegurarte por tu cuenta de que el sistema cumple todas las condiciones necesarias.
Este método es el recomendado cuando quieres usar la versión Arm de PowerShell en dispositivos como un Surface Pro X. Para mejores resultados, Microsoft sugiere instalarlo en la ruta $Env:ProgramFiles\PowerShell\7. Si vas a tener varias versiones de PowerShell 7 en paralelo, deberías extraer cada una en una carpeta distinta y añadir manualmente accesos directos al menú Inicio y la ruta a la variable PATH, ya que el ZIP no hace nada de eso por ti.
Instalar PowerShell 7 como herramienta global de .NET
Si ya tienes el SDK de .NET instalado en tu máquina, puedes tratar PowerShell 7 como una herramienta global más de ese ecosistema. Es una solución muy cómoda para desarrolladores que ya están acostumbrados a gestionar utilidades con el comando dotnet tool.
La instalación es tan simple como abrir una consola y ejecutar:
dotnet tool install –global PowerShell
Al hacerlo, el instalador de herramientas globales de .NET añadirá la ruta $HOME\.dotnet\tools a la variable de entorno PATH, de manera que puedas lanzar PowerShell 7 escribiendo pwsh. Eso sí, la consola que tienes abierta en ese momento no verá automáticamente el nuevo PATH; tendrás que abrir una nueva ventana de terminal para que recoja los cambios y poder usar la orden sin rutas completas.
Instalar PowerShell 7 mediante MSIX o desde Microsoft Store
PowerShell 7 también se puede instalar mediante paquetes MSIX, ya sea descargando el bundle desde GitHub o directamente desde la Microsoft Store. Este formato está muy orientado a usuarios que buscan comodidad y actualizaciones automáticas sin complicaciones.
Entre las ventajas del paquete de Microsoft Store destacan:
- Actualizaciones automáticas integradas en Windows, sin que tengas que preocuparte de descargar nuevas versiones manualmente.
- Integración con herramientas de distribución de software como Intune o Configuration Manager, útil en entornos de empresa.
- Compatibilidad con procesadores x64 y Arm64 en sistemas Windows modernos.
Si prefieres instalar el paquete MSIX de forma manual, puedes descargar el fichero correspondiente y hacer doble clic para iniciar el proceso de instalación gráfico. Desde consola, también puedes hacerlo con un comando similar a:
Add-AppxPackage -Path «./PowerShell-7.6.4.msixbundle»
Este formato, sin embargo, tiene varias limitaciones importantes que debes tener muy presentes antes de elegirlo como método principal:
- Las instalaciones basadas en Microsoft Store suelen ser por usuario, no para todos los usuarios del equipo.
- Los paquetes MSIX de Store se ejecutan en un entorno aislado (sandbox) que virtualiza parte del sistema de archivos y del registro. Cambios en rutas virtualizadas pueden no persistir fuera del sandbox.
- Las instalaciones basadas en Store no admiten PowerShell Remoting vía WSMan, porque la carpeta raíz de la aplicación está bloqueada para modificaciones y no se pueden cambiar opciones de configuración de nivel de sistema en $PSHOME.
- No se admiten comandos que necesitan escribir en $PSHOME como Register-PSSessionConfiguration, Update-Help -Scope AllUsers, Enable-ExperimentalFeature -Scope AllUsers o Set-ExecutionPolicy -Scope LocalMachine.
- No puedes crear ni modificar perfiles de todos los usuarios como $PROFILE.AllUsersAllHosts y $PROFILE.AllUsersCurrentHost, ya que deben residir en $PSHOME.
Microsoft ha ido relajando en parte la virtualización de archivos y registro para el paquete de PowerShell, de modo que ciertos cambios sí se conservan fuera del sandbox, pero la carpeta raíz de la aplicación sigue bloqueada. Por eso, si necesitas remoting completo o configuraciones de nivel máquina, es preferible que optes por MSI, ZIP o WinGet con instalador tradicional.
Cómo iniciar PowerShell 7 y comprobar la versión instalada
Una vez instalado PowerShell 7 por cualquiera de los métodos anteriores, podrás iniciarlo de varias formas. Lo más habitual es:
- Buscar «PowerShell 7» en el menú Inicio de Windows 11 y abrirlo desde el acceso directo que crea el instalador.
- Ejecutar el comando pwsh desde una ventana de CMD, Windows PowerShell o el propio Terminal de Windows, siempre que la ruta a PowerShell 7 esté en el PATH.
Por defecto, el instalador MSI sitúa la versión estable en $Env:ProgramFiles\PowerShell\7 y las versiones preliminares en $Env:ProgramFiles\PowerShell\7-preview. Además, suele añadir estas rutas al PATH del sistema para que puedas lanzar pwsh sin indicar la ruta completa.
En el menú Inicio verás varias entradas: la de PowerShell 7 (versión nueva), la de PowerShell 7-preview si tienes instaladas versiones preliminares, y las de Windows PowerShell 5.1, que se instalan de serie con Windows. También puedes encontrar el entorno ISE (Windows PowerShell ISE), que es una aplicación diferente y solo funciona con la versión 5.1.
Para comprobar qué versión exacta de PowerShell estás utilizando en una sesión concreta, tienes varias opciones. Una combinación clásica es ejecutar:
Get-Host | Select-Object Version
Con este comando podrás confirmar rápido si estás en la versión integrada 5.1 o en una 7.x más moderna. Otra forma muy útil es inspeccionar la variable $PSHOME, que siempre apunta al directorio donde reside el ejecutable de la sesión actual.
Cómo saber cómo instalaste PowerShell 7 y cómo actualizarlo
Si ha pasado tiempo desde que instalaste PowerShell 7 y ya no recuerdas qué método usaste, puedes deducirlo mirando el contenido de $PSHOME. Según el valor de esa variable, la instalación habrá llegado por una vía u otra:
- Si $PSHOME apunta a $HOME\.dotnet\tools, PowerShell se instaló como herramienta global de .NET.
- Si el valor es $Env:ProgramFiles\PowerShell\7 (o una ruta similar en Program Files\PowerShell), lo más probable es que se instalara mediante el paquete MSI. Puedes comprobarlo en el Panel de control, en «Programas y características», buscando la entrada de PowerShell.
- Si la ruta empieza por $Env:ProgramFiles\WindowsApps\, significa que está instalado como paquete MSIX, normalmente a través de Microsoft Store.
- Si la ruta es cualquier otra diferente, lo más probable es que estemos ante una instalación desde paquete ZIP.
PowerShell 7 admite actualizaciones a través de Microsoft Update cuando se instala con MSI y se habilitan las opciones de USE_MU/ENABLE_MU. En ese caso, las versiones nuevas llegarán por los canales de siempre: Windows Update para empresas, WSUS, Configuration Manager o el diálogo interactivo de actualizaciones en la aplicación Configuración.
Si quieres adelantarte a lo que llega por MU y tener la versión más reciente nada más salir, tendrás que actualizar usando el mismo método con el que lo instalaste inicialmente: nuevo MSI, nuevo ZIP, nuevo paquete MSIX o actualización vía WinGet. Las versiones estables de PowerShell 7 reemplazan a las estables anteriores, mientras que las versiones preview pueden instalarse en paralelo con las no preliminares, sustituyendo únicamente a previas anteriores.
Desinstalar PowerShell 7 según el método utilizado
El procedimiento para desinstalar PowerShell 7 en Windows 11 cambia en función de cómo se haya instalado en su momento. Cada método tiene su vía de reversión asociada:
- Si lo instalaste con WinGet, puedes eliminarlo con un comando como:
winget uninstall –id Microsoft.PowerShell - Si usaste el paquete MSI, bastará con abrir «Programas y características» en el Panel de control y desinstalar la entrada correspondiente a PowerShell.
- Si utilizaste el paquete ZIP, la desinstalación se reduce a borrar la carpeta donde descomprimiste los archivos. Puedes eliminar también cualquier acceso directo o entrada de PATH que hubieras creado a mano.
- Si lo instalaste desde la Microsoft Store, abre el menú Inicio, busca «PowerShell 7», haz clic derecho sobre el icono y elige «Desinstalar».
- Si lo configuraste como herramienta global de .NET, podrás quitarlo con la orden:
dotnet tool uninstall –global PowerShell
De esta forma puedes limpiar instalaciones antiguas o formatos que ya no uses y quedarte solo con el método de instalación que más se ajuste a cómo trabajas actualmente.
Compatibilidad de PowerShell 7 con versiones de Windows y contenedores
Microsoft ofrece soporte para PowerShell siempre que la propia versión de PowerShell y el sistema operativo subyacente estén dentro de su ciclo de soporte. Si Windows 11 llega al final de soporte, o lo hace una versión concreta de PowerShell 7, esa combinación dejará de recibir correcciones y actualizaciones oficiales.
Para escenarios con contenedores, las imágenes de Docker del SDK de .NET suelen incluir la versión reciente de PowerShell, alojadas en el Registro de artefactos de Microsoft. Son muy útiles para entornos de pruebas, pero pueden no tener todas las últimas actualizaciones de seguridad. Lo recomendado es actualizar los paquetes del sistema operativo de la imagen para asegurarte de que las correcciones de seguridad estén aplicadas si vas a reutilizar la imagen para algo más serio.
Si dudas de la versión de Windows 11 que estás ejecutando en tu PC, siempre puedes invocar winver.exe desde el cuadro de búsqueda o desde el nuevo cuadro Ejecutar en Windows 11 (Win + R) y ver el número de compilación exacto. Así sabrás si tu sistema está dentro de las combinaciones soportadas para PowerShell 7.
A nivel práctico, todo este abanico de métodos hace que usuarios domésticos, administradores de sistemas y desarrolladores puedan mantener PowerShell 7 actualizado en Windows 11 usando el enfoque que mejor encaja con su día a día: instalación cómoda con MSIX, control fino con MSI, despliegues ágiles con WinGet o escenarios avanzados con ZIP y herramienta global de .NET, siempre conviviendo con el PowerShell 5.1 integrado para aquellos módulos o scripts que todavía dependen de él.
