Búsqueda de sitios web

Instalación de PowerShell en Windows


Hay varias formas de instalar PowerShell en Windows. Cada método de instalación está diseñado para admitir diferentes escenarios y flujos de trabajo. Elige el método que mejor se adapte a tus necesidades.

  • Winget: forma recomendada de instalar PowerShell en clientes Windows
  • Paquete MSI: la mejor opción para servidores Windows y escenarios de implementación empresarial
  • Paquete ZIP: la forma más sencilla de "carga lateral" o instalar varias versiones

    • Utilice este método para Windows Nano Server, Windows IoT y sistemas basados en Arm
  • Herramienta .NET Global: una buena opción para desarrolladores .NET que instalan y utilizan otras herramientas globales
  • Paquete de Microsoft Store: una manera fácil de instalar para usuarios ocasionales de PowerShell, pero tiene limitaciones

Nota

Los comandos de instalación de este artículo son para la última versión estable de PowerShell. Para instalar una versión diferente de PowerShell, ajuste el comando para que coincida con la versión que necesita. Los siguientes enlaces lo dirigen a la página de lanzamiento de cada versión en el repositorio de PowerShell en GitHub.

  • Versión estable: https://aka.ms/powershell-release?tag=stable
  • Lanzamiento LTS: https://aka.ms/powershell-release?tag=lts
  • Versión preliminar: https://aka.ms/powershell-release?tag=preview

Los enlaces de descarga para cada paquete se encuentran en la sección Activos de la página de lanzamiento. Es posible que la sección Activos esté contraída, por lo que es posible que tengas que hacer clic para expandirla.

Instale PowerShell usando Winget (recomendado)

Winget, el Administrador de paquetes de Windows, es una herramienta de línea de comandos que permite a los usuarios descubrir, instalar, actualizar, eliminar y configurar aplicaciones en computadoras cliente de Windows. Esta herramienta es la interfaz del cliente para el servicio Administrador de paquetes de Windows. La herramienta de línea de comandos winget se incluye con Windows 11 y las versiones modernas de Windows 10 de forma predeterminada como instalador de aplicaciones.

Nota

Consulte la documentación de Winget para obtener una lista de requisitos del sistema e instrucciones de instalación. Winget no está disponible en Windows Server 2022 o versiones anteriores.

Windows Server 2025 Preview Build 26085 y posteriores incluyen winget solo para Windows Server con experiencia de escritorio. Para obtener más información, consulte Anuncio de Windows Server Preview Build 26085.

Los siguientes comandos se pueden utilizar para instalar PowerShell utilizando los paquetes winget publicados:

Busque la última versión de PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.4.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.5.0.3   winget

Instale PowerShell o PowerShell Preview usando el parámetro id

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

Nota

En sistemas Windows que utilizan procesadores X86 o X64, winget instala el paquete MSI. En sistemas que utilizan el procesador Arm64, winget instala el paquete Microsoft Store (MSIX). Para obtener más información, consulte Instalación desde Microsoft Store.

Instalación del paquete MSI

Para instalar PowerShell en Windows, utilice los siguientes enlaces para descargar el paquete de instalación desde GitHub.

  • PowerShell-7.4.4-win-x64.msi
  • PowerShell-7.4.4-win-x86.msi

Una vez descargado, haga doble clic en el archivo de instalación y siga las instrucciones.

El instalador crea un acceso directo en el menú Inicio de Windows.

  • De forma predeterminada, el paquete se instala en $env:ProgramFiles\PowerShell\
  • Puede iniciar PowerShell a través del menú Inicio o $env:ProgramFiles\PowerShell\\pwsh.exe

Nota

PowerShell 7.4 se instala en un nuevo directorio y se ejecuta en paralelo con Windows PowerShell 5.1. PowerShell 7.4 es una actualización local que elimina las versiones anteriores de PowerShell 7. Las versiones preliminares de PowerShell se pueden instalar en paralelo con otras versiones de PowerShell.

  • PowerShell 7.4 está instalado en $env:ProgramFiles\PowerShell\7
  • La carpeta $env:ProgramFiles\PowerShell\7 se agrega a $env:PATH

Si necesita ejecutar PowerShell 7.4 en paralelo con otras versiones, utilice el método de instalación ZIP para instalar la otra versión en una carpeta diferente.

Soporte para Microsoft Update en PowerShell 7.2 y versiones posteriores

PowerShell 7.2 y versiones posteriores son compatibles con Microsoft Update. Cuando habilita esta característica, obtendrá las últimas actualizaciones de PowerShell 7 en su flujo de administración tradicional de Microsoft Update (MU), ya sea con Windows Update for Business, WSUS, Microsoft Endpoint Configuration Manager o el cuadro de diálogo interactivo de MU en Configuración.

El paquete PowerShell MSI incluye las siguientes opciones de línea de comandos:

  • USE_MU: esta propiedad tiene dos valores posibles:

    • 1 (predeterminado): opta por actualizar a través de Microsoft Update, WSUS o Configuration Manager
    • 0: no opte por actualizar a través de Microsoft Update, WSUS o Configuration Manager
  • ENABLE_MU

    • 1 (predeterminado): opta por utilizar Microsoft Update para actualizaciones automáticas
    • 0: no optes por usar Microsoft Update

Nota

Es posible que la habilitación de actualizaciones se haya configurado en una instalación anterior o en una configuración manual. El uso de ENABLE_MU=0 no elimina la configuración existente. Además, esta configuración puede ser anulada por la configuración de política de grupo controlada por su administrador.

Para obtener más información, consulte las preguntas frecuentes sobre PowerShell Microsoft Update.

Instale el paquete MSI desde la línea de comando

Los paquetes MSI se pueden instalar desde la línea de comandos, lo que permite a los administradores implementar paquetes sin interacción del usuario. El paquete MSI incluye las siguientes propiedades para controlar las opciones de instalación:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL: esta propiedad controla la opción para agregar el elemento Abrir PowerShell al menú contextual en el Explorador de Windows.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL: esta propiedad controla la opción para agregar el elemento Ejecutar con PowerShell al menú contextual en el Explorador de Windows.
  • ENABLE_PSREMOTING: esta propiedad controla la opción para habilitar la comunicación remota de PowerShell durante la instalación.
  • REGISTER_MANIFEST: esta propiedad controla la opción para registrar el manifiesto de registro de eventos de Windows.
  • ADD_PATH: esta propiedad controla la opción para agregar PowerShell a la variable de entorno PATH de Windows.
  • DISABLE_TELEMETRY: esta propiedad controla la opción para deshabilitar la telemetría de PowerShell configurando la variable de entorno POWERSHELL_TELEMETRY_OPTOUT.
  • INSTALLFOLDER: esta propiedad controla el directorio de instalación. El valor predeterminado es $env:ProgramFiles\PowerShell\. Esta es la ubicación donde el instalador crea la subcarpeta versionada. No puede cambiar el nombre de la subcarpeta versionada.

    • Para las versiones actuales, la subcarpeta versionada es 7
    • Para versiones preliminares, la subcarpeta versionada es 7-preview

El siguiente ejemplo muestra cómo instalar PowerShell de forma silenciosa con todas las opciones de instalación habilitadas.

msiexec.exe /package PowerShell-7.4.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

Para obtener una lista completa de opciones de línea de comandos para Msiexec.exe, consulte Opciones de línea de comandos.

Instalación del paquete ZIP

Se proporcionan archivos ZIP binarios de PowerShell para permitir escenarios de implementación avanzados. Descargue uno de los siguientes archivos ZIP desde la página de la versión actual.

  • PowerShell-7.4.4-win-x64.zip
  • PowerShell-7.4.4-win-x86.zip
  • PowerShell-7.4.4-win-arm64.zip

Dependiendo de cómo descargue el archivo, es posible que necesite desbloquearlo usando el cmdlet Unblock-File. Descomprima el contenido en la ubicación que elija y ejecute pwsh.exe desde allí. A diferencia de la instalación de paquetes MSI, la instalación del archivo ZIP no verifica los requisitos previos. Para que la comunicación remota a través de WSMan funcione correctamente, asegúrese de cumplir con los requisitos previos.

Utilice este método para instalar la versión basada en ARM de PowerShell en computadoras como Microsoft Surface Pro X. Para obtener mejores resultados, instale PowerShell en la carpeta $env:ProgramFiles\PowerShell\7.

Instalar como herramienta global .NET

Si ya tiene instalado el SDK de .NET Core, puede instalar PowerShell como una herramienta .NET Global.

dotnet tool install --global PowerShell

El instalador de la herramienta dotnet agrega $HOME\.dotnet\tools a su variable de entorno $env:PATH. Sin embargo, el shell que se está ejecutando actualmente no tiene el $env:PATH actualizado. Puede iniciar PowerShell desde un nuevo shell escribiendo pwsh.

Instalación desde Microsoft Store

PowerShell se puede instalar desde Microsoft Store. Puede encontrar la versión de PowerShell en el sitio de Microsoft Store o en la aplicación Store de Windows.

Beneficios del paquete Microsoft Store:

  • Actualizaciones automáticas integradas directamente en Windows
  • Se integra con otros mecanismos de distribución de software como Intune y Configuration Manager.
  • Se puede instalar en sistemas Windows que utilizan procesadores x86, x64 o Arm64.

Limitaciones conocidas

De forma predeterminada, los paquetes de la Tienda Windows se ejecutan en un entorno limitado de aplicaciones que virtualiza el acceso a algunos sistemas de archivos y ubicaciones de registro. Los cambios en las ubicaciones de registros y archivos virtualizados no persisten fuera del entorno limitado de la aplicación.

Esta zona de pruebas bloquea todos los cambios en la carpeta raíz de la aplicación. Cualquier configuración a nivel de sistema almacenada en $PSHOME no se puede modificar. Esto incluye la configuración de WSMAN. Esto evita que las sesiones remotas se conecten a instalaciones de PowerShell basadas en la Tienda. Se admiten configuraciones a nivel de usuario y comunicación remota SSH.

Los siguientes comandos deben escribirse en $PSHOME. Estos comandos no son compatibles con una instancia de PowerShell de Microsoft Store.

    Register-PSSessionConfiguration
    Update-Help -Scope AllUsers
    Enable-ExperimentalFeature -Scope AllUsers
    Set-ExecutionPolicy -Scope LocalMachine

Para obtener más información, consulte Comprender cómo se ejecutan las aplicaciones de escritorio empaquetadas en Windows.

Cambios para PowerShell 7.2

A partir de PowerShell 7.2, el paquete PowerShell ahora está exento de la virtualización de archivos y registros. Los cambios en las ubicaciones de registros y archivos virtualizados ahora persisten fuera del entorno limitado de la aplicación. Sin embargo, los cambios en la carpeta raíz de la aplicación todavía están bloqueados.

es importante

Debe ejecutar Windows versión 1903 o superior para que funcione esta exención.

Instalación de una versión preliminar

Las versiones preliminares de PowerShell 7 se instalan en $env:ProgramFiles\PowerShell\7-preview para que puedan ejecutarse en paralelo con las versiones sin vista previa de PowerShell. PowerShell 7.4 es la próxima versión preliminar.

Actualización de una instalación existente

Para obtener mejores resultados al actualizar, debe utilizar el mismo método de instalación que utilizó cuando instaló PowerShell por primera vez. Si no está seguro de cómo se instaló PowerShell, puede verificar el valor de la variable $PSHOME, que siempre apunta al directorio que contiene PowerShell en el que se está ejecutando la sesión actual.

  • Si el valor es $HOME\.dotnet\tools, PowerShell se instaló con la herramienta .NET Global.
  • Si el valor es $Env:ProgramFiles\PowerShell\7, PowerShell se instaló como un paquete MSI o con Winget en una computadora con un procesador X86 o x64.
  • Si el valor comienza con $Env:ProgramFiles\WindowsApps\, PowerShell se instaló como un paquete de Microsoft Store o con Winget en una computadora con un procesador ARM.
  • Si el valor es cualquier otro, es probable que PowerShell se haya instalado como un paquete ZIP.

Si realizó la instalación mediante el paquete MSI, esa información también aparece en el Panel de control de Programas y características.

Para determinar si PowerShell se puede actualizar con Winget, ejecute el siguiente comando:

winget list --name PowerShell --upgrade-available

Si hay una actualización disponible, el resultado indica la última versión disponible.

Nota

Al actualizar, PowerShell no actualizará de una versión LTS a una versión que no sea LTS. Sólo actualiza a la última versión de LTS, por ejemplo, de 7.2.3 a 7.2.22. Para actualizar desde una versión LTS a una versión estable más nueva o la siguiente LTS, debe instalar la nueva versión con el MSI para esa versión.

Cuando la versión instalada no es una versión LTS, PowerShell se actualiza a la última versión estable.

Implementación en Windows 10 IoT Enterprise

Windows 10 IoT Enterprise viene con Windows PowerShell, que podemos usar para implementar PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.4-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.4.4-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.4-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

Cuando configura PowerShell Remoting, recibe un mensaje de error y se desconecta del dispositivo. PowerShell tiene que reiniciar WinRM. Ahora puede conectarse al punto final de PowerShell 7 en el dispositivo.

# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.4.4

Implementación en Windows 10 IoT Core

Windows 10 IoT Core agrega Windows PowerShell cuando incluye la función IOT_POWERSHELL, que podemos usar para implementar PowerShell 7. Los pasos definidos anteriormente para Windows 10 IoT Enterprise también se pueden seguir para IoT Core.

Para agregar el último PowerShell en la imagen de envío, use el comando Import-PSCoreRelease para incluir el paquete en el área de trabajo y agregar la función OPENSRC_POWERSHELL a su imagen.

Nota

Para la arquitectura ARM64, Windows PowerShell no se agrega cuando se incluye IOT_POWERSHELL. Entonces la instalación basada en zip no funciona. Debe utilizar el comando Import-PSCoreRelease para agregarlo a la imagen.

Implementación en Nano Server

Estas instrucciones asumen que Nano Server es un sistema operativo "sin cabeza" que ya tiene una versión de PowerShell ejecutándose. Para obtener más información, consulte la documentación de Nano Server Image Builder.

Los archivos binarios de PowerShell se pueden implementar mediante dos métodos diferentes.

  1. Sin conexión: monte el Nano Server VHD y descomprima el contenido del archivo zip en la ubicación elegida dentro de la imagen montada.
  2. En línea: transfiera el archivo zip a través de una sesión de PowerShell y descomprímalo en la ubicación elegida.

En ambos casos, necesita el paquete de lanzamiento ZIP de Windows x64. Ejecute los comandos dentro de una instancia de "Administrador" de PowerShell.

Implementación sin conexión de PowerShell

  1. Utilice su utilidad zip favorita para descomprimir el paquete en un directorio dentro de la imagen montada del Nano Server.
  2. Desmonta la imagen e iníciala.
  3. Conéctese a la instancia integrada de Windows PowerShell.
  4. Siga las instrucciones para crear un punto final remoto utilizando la "técnica de otra instancia".

Implementación en línea de PowerShell

Implemente PowerShell en Nano Server siguiendo los siguientes pasos.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.4.4-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.4.4-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Si desea comunicación remota basada en WSMan, siga las instrucciones para crear un punto final de comunicación remota utilizando la "técnica de otra instancia".

Comunicación remota con PowerShell

PowerShell admite el protocolo de comunicación remota de PowerShell (PSRP) a través de WSMan y SSH. Para obtener más información, consulte:

  • Comunicación remota SSH en PowerShell
  • Comunicación remota con WSMan en PowerShell

Se deben cumplir los siguientes requisitos previos para habilitar la comunicación remota de PowerShell a través de WSMan en versiones anteriores de Windows.

  • Instale Windows Management Framework (WMF) 5.1 (según sea necesario). Para obtener más información sobre WMF, consulte Descripción general de WMF.
  • Instale Universal C Runtime en versiones de Windows anteriores a Windows 10. Está disponible mediante descarga directa o Windows Update. Los sistemas completamente parcheados ya tienen este paquete instalado.

Versiones compatibles de Windows

Microsoft admite PowerShell hasta que PowerShell llegue al final del soporte o la versión de Windows llegue al final del soporte.

  • Las imágenes de Docker que contienen PowerShell 7.2, PowerShell 7.4 y PowerShell 7.5 en versión preliminar para x64 para Windows Server 2022, Windows Server Core 2022 y Windows Server Nano build 1809 están disponibles en Microsoft Artifact Registry.
  • PowerShell 7.2 y superior se puede instalar en Windows 10 compilación 1607 y superior, Windows 11, Windows Server 2016 y superior, y Windows Server Nano compilación 1809 y superior

Nota

La compatibilidad con una versión específica de Windows está determinada por las políticas del ciclo de vida de soporte de Microsoft. Para obtener más información, consulte:

  • Preguntas frecuentes sobre el ciclo de vida del cliente de Windows
  • Preguntas frecuentes sobre la política de ciclo de vida moderna

Puede comprobar la versión que está utilizando ejecutando winver.exe.

Soporte de instalación

Microsoft admite los métodos de instalación de este documento. Es posible que existan otros métodos de instalación de terceros disponibles en otras fuentes. Si bien esas herramientas y métodos pueden funcionar, Microsoft no puede admitirlos.

Artículos relacionados