Instalar o PowerShell no Windows

Há várias maneiras de instalar o PowerShell no Windows. Cada método de instalação é projetado para suportar diferentes cenários e fluxos de trabalho. Escolha o método que melhor se adapta às suas necessidades.

  • Winget - Maneira recomendada de instalar o PowerShell em clientes Windows
  • Pacote MSI - Melhor escolha para servidores Windows e cenários de implantação corporativa
  • Pacote ZIP - Maneira mais fácil de "side load" ou instalar várias versões
    • Use este método para Windows Nano Server, Windows IoT e sistemas baseados em Arm
  • Ferramenta global .NET - Uma boa opção para desenvolvedores .NET que instalam e usam outras ferramentas globais
  • Pacote da Microsoft Store - Uma maneira fácil de instalar para usuários casuais do PowerShell, mas com limitações

Nota

Os comandos de instalação neste artigo são para a versão estável mais recente do PowerShell. Para instalar uma versão diferente do PowerShell, ajuste o comando para corresponder à versão necessária. Os links a seguir direcionam você para a página de versão de cada versão no repositório do PowerShell no GitHub.

Os links de download para cada pacote podem ser encontrados na seção Ativos da página Versão . A seção Ativos pode estar recolhida, portanto, talvez seja necessário clicar para expandi-la.

Winget, o Gerenciador de Pacotes do Windows, é uma ferramenta de linha de comando que permite aos usuários descobrir, instalar, atualizar, remover e configurar aplicativos em computadores cliente Windows. Esta ferramenta é a interface do cliente para o serviço Gerenciador de Pacotes do Windows. A winget ferramenta de linha de comando é fornecida com o Windows 11 e versões modernas do Windows 10 por padrão como o App Installer.

Nota

Consulte a documentação do winget para obter uma lista de requisitos do sistema e instruções de instalação. Winget não está disponível no Windows Server 2022 ou em versões anteriores.

O Windows Server 2025 Preview Build 26085 e posterior inclui winget apenas o Windows Server com Experiência Desktop. Para obter mais informações, consulte Anunciando o Windows Server Preview Build 26085.

Os comandos a seguir podem ser usados para instalar o PowerShell usando os pacotes publicados winget :

Pesquisar a versão mais recente do PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.2.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.5.0.2   winget

Instalar o PowerShell ou o PowerShell Preview usando o id parâmetro

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

Nota

Em sistemas Windows que usam o processador X86 ou X64, winget instala o pacote MSI. Em sistemas que usam o processador Arm64, winget instala o pacote da Microsoft Store (MSIX). Para obter mais informações, consulte Instalando a partir da Microsoft Store.

Instalando o pacote MSI

Para instalar o PowerShell no Windows, use os links a seguir para baixar o pacote de instalação do GitHub.

Uma vez baixado, clique duas vezes no arquivo do instalador e siga as instruções.

O instalador cria um atalho no Menu Iniciar do Windows.

  • Por padrão, o pacote é instalado em $env:ProgramFiles\PowerShell\<version>
  • Você pode iniciar o PowerShell por meio do Menu Iniciar ou $env:ProgramFiles\PowerShell\<version>\pwsh.exe

Nota

O PowerShell 7.4 é instalado em um novo diretório e executado lado a lado com o Windows PowerShell 5.1. O PowerShell 7.4 é uma atualização in-loco que remove versões anteriores do PowerShell 7. As versões de visualização do PowerShell podem ser instaladas lado a lado com outras versões do PowerShell.

  • O PowerShell 7.4 é instalado em $env:ProgramFiles\PowerShell\7
  • A $env:ProgramFiles\PowerShell\7 pasta é adicionada a $env:PATH

Se você precisar executar o PowerShell 7.4 lado a lado com outras versões, use o método de instalação ZIP para instalar a outra versão em uma pasta diferente.

Suporte para o Microsoft Update no PowerShell 7.2 e mais recente

O PowerShell 7.2 e versões mais recentes têm suporte para o Microsoft Update. Ao habilitar esse recurso, você obterá as atualizações mais recentes do PowerShell 7 em seu fluxo de gerenciamento tradicional do Microsoft Update (MU), seja com o Windows Update for Business, WSUS, Microsoft Endpoint Configuration Manager ou a caixa de diálogo MU interativa em Configurações.

O pacote MSI do PowerShell inclui as seguintes opções de linha de comando:

  • USE_MU - Esta propriedade tem dois valores possíveis:
    • 1 (padrão) - Opta pela atualização por meio do Microsoft Update, WSUS ou Configuration Manager
    • 0 - Não opte por atualizar através do Microsoft Update, WSUS ou Configuration Manager
  • ENABLE_MU
    • 1 (padrão) - Opta por usar o Microsoft Update para atualizações automáticas
    • 0 - Não opte por usar o Microsoft Update

Nota

A ativação de atualizações pode ter sido definida em uma instalação anterior ou configuração manual. Usar ENABLE_MU=0 não remove as configurações existentes. Além disso, essa configuração pode ser anulada pelas configurações de Diretiva de Grupo controladas pelo administrador.

Para obter mais informações, consulte as Perguntas frequentes do PowerShell Microsoft Update.

Instalar o pacote MSI a partir da linha de comando

Os pacotes MSI podem ser instalados a partir da linha de comando, permitindo que os administradores implantem pacotes sem interação do usuário. O pacote MSI inclui as seguintes propriedades para controlar as opções de instalação:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - Esta propriedade controla a opção para adicionar o Open PowerShell item ao menu de contexto no Windows Explorer.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - Esta propriedade controla a opção para adicionar o Run with PowerShell item ao menu de contexto no Windows Explorer.
  • ENABLE_PSREMOTING - Esta propriedade controla a opção para habilitar a comunicação remota do PowerShell durante a instalação.
  • REGISTER_MANIFEST - Esta propriedade controla a opção para registrar o manifesto de Log de Eventos do Windows.
  • ADD_PATH - Esta propriedade controla a opção para adicionar o PowerShell à variável de ambiente PATH do Windows.
  • DISABLE_TELEMETRY - Esta propriedade controla a opção para desabilitar a telemetria do PowerShell definindo a POWERSHELL_TELEMETRY_OPTOUT variável de ambiente.
  • INSTALLFOLDER - Esta propriedade controla o diretório de instalação. A predefinição é $env:ProgramFiles\PowerShell\. Este é o local onde o instalador cria a subpasta versionada. Não é possível alterar o nome da subpasta versionada.
    • Para versões atuais, a subpasta versionada é 7
    • Para versões de visualização, a subpasta versionada é 7-preview

O exemplo a seguir mostra como instalar silenciosamente o PowerShell com todas as opções de instalação habilitadas.

msiexec.exe /package PowerShell-7.4.2-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 obter uma lista completa de opções de linha de comando para Msiexec.exeo , consulte Opções de linha de comando.

Instalando o pacote ZIP

Os arquivos ZIP binários do PowerShell são fornecidos para habilitar cenários avançados de implantação. Faça o download de um dos seguintes arquivos ZIP da página de lançamento atual.

Dependendo de como você baixar o arquivo, talvez seja necessário desbloqueá-lo usando o Unblock-File cmdlet. Descompacte o conteúdo para o local de sua escolha e corra pwsh.exe a partir daí. Ao contrário da instalação dos pacotes MSI, a instalação do arquivo ZIP não verifica os pré-requisitos. Para que a comunicação remota no WSMan funcione corretamente, verifique se você atendeu aos pré-requisitos.

Use esse método para instalar a versão baseada em ARM do PowerShell em computadores como o Microsoft Surface Pro X. Para obter melhores resultados, instale o PowerShell na pasta para $env:ProgramFiles\PowerShell\7 .

Instalar como uma ferramenta global do .NET

Se você já tiver o SDK do .NET Core instalado, poderá instalar o PowerShell como uma ferramenta global do .NET.

dotnet tool install --global PowerShell

O instalador da ferramenta dotnet adiciona $HOME\.dotnet\tools à sua $env:PATH variável de ambiente. No entanto, o shell em execução no momento não tem o arquivo $env:PATH. Você pode iniciar o PowerShell a partir de um novo shell digitando pwsh.

Instalação a partir da Microsoft Store

O PowerShell pode ser instalado a partir da Microsoft Store. Você pode encontrar a versão do PowerShell no site da Microsoft Store ou no aplicativo Store no Windows.

Benefícios do pacote da Microsoft Store:

  • Atualizações automáticas incorporadas no Windows
  • Integra-se com outros mecanismos de distribuição de software, como o Intune e o Configuration Manager
  • Pode instalar em sistemas Windows usando processadores x86, x64 ou Arm64

Limitações conhecidas

Por padrão, os pacotes da Windows Store são executados em uma área restrita de aplicativos que virtualiza o acesso a alguns locais do sistema de arquivos e do Registro. As alterações nos locais de arquivo e registro virtualizados não persistem fora da área restrita do aplicativo.

Esta área restrita bloqueia todas as alterações na pasta raiz do aplicativo. As definições de configuração no nível do sistema armazenadas não $PSHOME podem ser modificadas. Isso inclui a configuração WSMAN. Isso impede que sessões remotas se conectem a instalações do PowerShell baseadas em Loja. Configurações de nível de usuário e comunicação remota SSH são suportadas.

Os comandos a seguir precisam ser gravados em $PSHOME. Esses comandos não são suportados em uma instância do PowerShell da Microsoft Store.

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

Para obter mais informações, consulte Noções básicas sobre como os pacotes de aplicativos da área de trabalho são executados no Windows.

Alterações para o PowerShell 7.2

A partir do PowerShell 7.2, o pacote do PowerShell agora está isento da virtualização de arquivos e registros. As alterações nos locais de arquivo e registro virtualizados agora persistem fora da área restrita do aplicativo. No entanto, as alterações na pasta raiz do aplicativo ainda estão bloqueadas.

Importante

Você deve estar executando no Windows build 1903 ou superior para que essa isenção funcione.

Instalar uma versão de pré-visualização

As versões de visualização do PowerShell 7 são instaladas para $env:ProgramFiles\PowerShell\7-preview que possam ser executadas lado a lado com versões que não sejam de pré-visualização do PowerShell. O PowerShell 7.4 é a próxima versão prévia.

Atualizando uma instalação existente

Para obter melhores resultados ao atualizar, você deve usar o mesmo método de instalação usado quando instalou o PowerShell pela primeira vez. Se não tiver certeza de como o PowerShell foi instalado, você pode verificar o $PSHOME valor da variável, que sempre aponta para o diretório que contém o PowerShell que a sessão atual está executando.

  • Se o valor for $HOME\.dotnet\tools, o PowerShell foi instalado com a ferramenta .NET Global.
  • Se o valor for $Env:ProgramFiles\PowerShell\7, o PowerShell foi instalado como um pacote MSI ou com Winget em um computador com um processador X86 ou x64.
  • Se o valor começar com $Env:ProgramFiles\WindowsApps\, o PowerShell foi instalado como um pacote da Microsoft Store ou com o Winget no computador com um processador ARM.
  • Se o valor for qualquer outra coisa, é provável que o PowerShell tenha sido instalado como um pacote ZIP.

Se você instalou através do pacote MSI, essas informações também aparecem no Painel de Controle de Programas e Recursos .

Para determinar se o PowerShell pode ser atualizado com o Winget, execute o seguinte comando:

winget list --name PowerShell --upgrade-available

Se houver uma atualização disponível, a saída indica a versão mais recente disponível.

Nota

Ao atualizar, o PowerShell não atualizará de uma versão LTS para uma versão não-LTS. Ele só atualiza para a versão mais recente do LTS, por exemplo, de 7.2.3 para 7.2.19. Para atualizar de uma versão LTS para uma versão estável mais recente ou o próximo LTS, você precisa instalar a nova versão com o MSI para essa versão.

Quando a versão instalada não é uma versão LTS, o PowerShell atualiza para a versão estável mais recente.

Implantando no Windows 10 IoT Enterprise

O Windows 10 IoT Enterprise vem com o Windows PowerShell, que podemos usar para implantar o PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.2-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.2-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.2-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 .

Ao configurar a comunicação remota do PowerShell, você recebe uma mensagem de erro e é desconectado do dispositivo. O PowerShell precisa reiniciar o WinRM. Agora você pode se conectar ao ponto de extremidade do PowerShell 7 no 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.2

Implantando no Windows 10 IoT Core

O Windows 10 IoT Core adiciona o Windows PowerShell quando você inclui IOT_POWERSHELL recurso, que podemos usar para implantar o PowerShell 7. As etapas definidas acima para o Windows 10 IoT Enterprise também podem ser seguidas para o IoT Core.

Para adicionar o PowerShell mais recente na imagem de envio, use o comando Import-PSCoreRelease para incluir o pacote na área de trabalho e adicionar OPENSRC_POWERSHELL recurso à sua imagem.

Nota

Para a arquitetura ARM64, o Windows PowerShell não é adicionado quando você inclui IOT_POWERSHELL. Portanto, a instalação baseada em zip não funciona. Você precisa usar Import-PSCoreRelease o comando para adicioná-lo na imagem.

Implantando no Nano Server

Estas instruções pressupõem que o Nano Server é um sistema operacional "sem cabeça" que já tem uma versão do PowerShell em execução nele. Para obter mais informações, consulte a documentação do Nano Server Image Builder .

Os binários do PowerShell podem ser implantados usando dois métodos diferentes.

  1. Offline - Monte o VHD do Nano Server e descompacte o conteúdo do arquivo zip para o local escolhido dentro da imagem montada.
  2. Online - Transfira o arquivo zip por uma sessão do PowerShell e descompacte-o no local escolhido.

Em ambos os casos, você precisa do pacote de lançamento do Windows x64 ZIP. Execute os comandos em uma instância "Administrador" do PowerShell.

Implantação offline do PowerShell

  1. Use seu utilitário zip favorito para descompactar o pacote para um diretório dentro da imagem montada do Nano Server.
  2. Desmonte a imagem e inicialize-a.
  3. Conecte-se à instância interna do Windows PowerShell.
  4. Siga as instruções para criar um ponto de extremidade remoto usando a "técnica de outra instância".

Implantação online do PowerShell

Implante o PowerShell no Nano Server usando as etapas a seguir.

# 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.2-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.2-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Se você quiser comunicação remota baseada em WSMan, siga as instruções para criar um ponto de extremidade remoto usando a "outra técnica de instância".

Comunicação remota do PowerShell

O PowerShell dá suporte ao protocolo PSRP (PowerShell Remoting Protocol) sobre WSMan e SSH. Para obter mais informações, consulte:

Os pré-requisitos a seguir devem ser atendidos para habilitar a comunicação remota do PowerShell sobre WSMan em versões mais antigas do Windows.

  • Instale o Windows Management Framework (WMF) 5.1 (conforme necessário). Para obter mais informações sobre WMF, consulte Visão geral do WMF.
  • Instale o Universal C Runtime em versões do Windows anteriores ao Windows 10. Está disponível através de download direto ou Windows Update. Sistemas totalmente corrigidos já têm este pacote instalado.

Versões suportadas do Windows

A tabela a seguir é uma lista de versões do PowerShell e as versões do Windows nas quais elas são suportadas. Essas versões são suportadas até que a versão do PowerShell atinja o fim do suporte ou a versão do Windows atinja o fim do suporte.

  • O Suportado ícone indica que a versão do sistema operacional ou do PowerShell ainda é suportada
  • O Sem suporte ícone indica que a versão do PowerShell não é mais suportada nessa versão do sistema operacional
  • O Em Teste ícone indica que não terminamos de testar o PowerShell nesse sistema operacional
  • O Não suportado ícone indica que a versão do sistema operacional ou do PowerShell não é suportada
  • Quando a versão do sistema operacional e a versão do PowerShell têm um Suportado ícone, essa combinação é suportada
Windows 7.2 (LTS-anterior) 7.3 7.4 (LTS-atual)
Suportado Windows Server 2016, 2019 ou 2022 Suportado Suportado Suportado
Suportado Windows Server Nano (1809 ou superior) Suportado Suportado Suportado
Suportado Janelas 11 Suportado Suportado Suportado
Suportado Windows 10 1607+ Suportado Suportado Suportado

Nota

O suporte para uma versão específica do Windows é determinado pelas políticas de ciclo de vida do suporte da Microsoft. Para obter mais informações, consulte:

O PowerShell é suportado no Windows para as seguintes arquiteturas de processador.

Windows 7.2 (LTS-atual) 7.3 7.4 (LTS-atual)
Windows Server 2016+ x64, x86 x64, x86 x64, x86
Windows Server Core 2016+ x64, x86 x64, x86 x64, x86
Nano Server Versão 1803+ x64 x64 x64
Cliente Windows 11 x64, braço64 x64, braço64 x64, braço64
Cliente Windows 10 x64, x86, braço64 x64, x86, braço64 x64, x86, braço64

Você pode verificar a versão que você está usando executando winver.exe.

Suporte à instalação

A Microsoft suporta os métodos de instalação neste documento. Pode haver outros métodos de instalação de terceiros disponíveis de outras fontes. Embora essas ferramentas e métodos possam funcionar, a Microsoft não pode oferecer suporte a esses métodos.