Instalar o PowerShell no Windows

Há várias maneiras de instalar o PowerShell no Windows. Cada método de instalação é projetado para funcionar em diferentes cenários e fluxos de trabalho. Escolha o tipo de instalação mais adequado às suas necessidades.

  • Pacote MSI: a melhor opção para o usuário cotidiano.
  • Pacote ZIP: a maneira mais fácil de instalar várias versões ou usar em um pipeline de CI/CD. Esse é o método de instalação para Windows Nano Server, Windows IoT e sistemas baseados em Arm.
  • Ferramenta global do .NET: uma boa opção para desenvolvedores do .NET que instalam e usam outras ferramentas globais.
  • Winget: para usuários que preferem usar a nova ferramenta de Gerenciador de Pacotes do Windows.
  • Pacote da Microsoft Store: um jeito fácil de instalar para usuários casuais do PowerShell, mas tem limitações.

Observação

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 de que você precisa. Os links a seguir direcionam você para a página de lançamento de cada versão no repositório do PowerShell no GitHub.

Os links para download de cada pacote estão na seção Ativos da página de versões. A seção Ativos pode estar recolhida e, portanto, talvez você precise clicar para expandi-la.

Instalando o pacote MSI

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

Após o download, clique duas vezes no arquivo de instalação 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

Observação

O PowerShell 7.2 é instalado em um novo diretório e executado lado a lado com o Windows PowerShell 5.1. O PowerShell 7.2 é uma atualização in-loco que substitui o PowerShell 7.0 e versões anteriores.

  • O PowerShell 7.2 é instalado em $env:ProgramFiles\PowerShell\7
  • A pasta $env:ProgramFiles\PowerShell\7 é adicionada ao $env:PATH
  • As pastas para versões lançadas anteriormente são excluídas

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

Suporte para Microsoft Update no PowerShell 7.2

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

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

  • USE_MU – essa propriedade tem dois valores possíveis:
    • 1 (padrão) – opta por atualizar por meio do Microsoft Update, do WSUS ou do Configuration Manager
    • 0 – opta por não atualizar por meio do Microsoft Update, do WSUS ou do Configuration Manager
  • ENABLE_MU
    • 1 (padrão) – opta por usar o Microsoft Update para Atualizações Automáticas
    • 0 - não opta por usar o Microsoft Update

Observação

A habilitação de atualizações pode ter sido definida em uma instalação anterior ou por meio de configuração manual. Usar ENABLE_MU=0 não remove as configurações existentes. Além disso, essa configuração pode ser substituída por configurações de Política de Grupo controladas pelo administrador.

Para saber mais, confira as Perguntas frequentes sobre o Microsoft Update para PowerShell.

Instalar o pacote MSI da linha de comando

É possível instalar os pacotes MSI por 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 de adicionar o item Open PowerShell ao menu de contexto no Windows Explorer.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL – Esta propriedade controla a opção de adicionar o item Run with PowerShell 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 do Log de eventos do Windows.

Os exemplos a seguir mostram como instalar silenciosamente o PowerShell com todas as opções de instalação habilitadas.

msiexec.exe /package PowerShell-7.2.1-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1

Confira a lista completa das opções de linha de comando para Msiexec.exe em Opções de linha de comando.

Instalando o pacote ZIP

Arquivos binários de ZIP do PowerShell são fornecidos para habilitar cenários de implantação avançada. Baixe um dos arquivos ZIP a seguir da página da versão atual.

Dependendo de como você baixar o arquivo, poderá ser necessário desbloqueá-lo usando o cmdlet Unblock-File. Descompacte o conteúdo para o local de sua escolha e execute pwsh.exe desse local. Ao contrário da instalação de pacotes MSI, a instalação do arquivo ZIP não verifica os pré-requisitos. Para que a comunicação remota pelo WSMan funcione corretamente, certifique-se de atender 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 $env:ProgramFiles\PowerShell\7.

Instalar como uma ferramenta global do .NET

Se você já tiver o SDK do .NET Core instalado, será possível instalar o PowerShell como uma ferramenta Global do .NET.

dotnet tool install --global PowerShell

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

Instalar o PowerShell por meio do Winget

O Winget, o Gerenciador de Pacotes do Windows, é uma ferramenta de linha de comando que permite que os desenvolvedores descubram, instalem, atualizem, removam e configurem aplicativos em computadores Windows 10. Essa ferramenta é a interface do cliente para o serviço Gerenciador de Pacotes do Windows.

Observação

Confira a documentação do winget para obter uma lista de requisitos do sistema e de instruções de instalação.

Os seguintes comandos podem ser usados para instalar o PowerShell com os pacotes do winget publicados:

Pesquisar a versão mais recente do PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version  Source
----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.2.0.0  winget
Powershell Preview Microsoft.PowerShell.Preview 7.2.0.10 winget

Instalar o Powershell ou a Versão Prévia do PowerShell usando o parâmetro id

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

Instalar pela Microsoft Store

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

Benefícios do pacote da Microsoft Store:

  • Atualizações automáticas integradas diretamente no Windows
  • Integra-se a outros mecanismos de distribuição de software, como Intune e Configuration Manager

Limitações conhecidas

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

Essa área restrita bloqueia todas as alterações na pasta raiz do aplicativo. Nenhuma definição de configuração no nível do sistema armazenada em $PSHOME pode ser modificada. Isso inclui a configuração do WSMAN. Isso impede que as sessões remotas se conectem a instalações baseadas na Store do PowerShell. Há suporte para configurações no nível do usuário e para comunicação remota SSH.

Os comandos a seguir precisam ser escritos em $PSHOME. Esses comandos não têm suporte em uma instância da Microsoft Store do PowerShell.

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

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

Alterações no PowerShell 7.2

A partir do PowerShell 7.2, o pacote do PowerShell está isento da virtualização de arquivos e Registro. As alterações em locais de Registro e de arquivo 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ê precisa estar executando no Windows build 1903 ou superior para que essa isenção funcione.

Instalar uma versão prévia

Versões preliminares do PowerShell 7 são instaladas em $env:ProgramFiles\PowerShell\7-preview para que possam ser executadas lado a lado com versões não preliminares do PowerShell. O PowerShell 7.3 será a próxima versão prévia.

Atualizar uma instalação existente

Para obter melhores resultados ao atualizar, você deve usar o mesmo método de instalação usado ao instalar o PowerShell pela primeira vez. Cada método de instalação instala o PowerShell em um local diferente. Se você não tiver certeza de como o PowerShell foi instalado, compare o local de instalação às informações do pacote neste artigo. Se você instalou por meio do pacote MSI, essas informações serão exibidas no Painel de Controle de Programas e Recursos.

Implantar no Windows 10 IoT Enterprise

O Windows 10 IoT Enterprise vem com o Windows PowerShell, que pode ser usado para implantar o PowerShell 7.

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

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.2.1-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 o PowerShell Remoting, você obtém uma mensagem de erro e é desconectado do dispositivo. O PowerShell precisa reiniciar o WinRM. Agora, você pode conectar-se 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.2.1

Implantar no Windows 10 IoT Core

O Windows 10 IoT Core adiciona o Windows PowerShell quando você inclui o recurso IOT_POWERSHELL, que pode ser usado 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 remessa, use o comando Import-PSCoreRelease para incluir o pacote na área de trabalho e adicione o recurso OPENSRC_POWERSHELL à imagem.

Observação

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 o comando Import-PSCoreRelease para adicioná-lo à imagem.

Implantação no Nano Server

Essas instruções pressupõem que o Nano Server é um sistema operacional "sem periféricos" que tem uma versão do PowerShell já em execução. Confira mais informações na documentação do Construtor de Imagens do Nano Server.

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 na imagem montada.
  2. Online – transfira o arquivo zip em uma sessão do PowerShell e descompacte-o em seu local escolhido.

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

Implantação offline do PowerShell

  1. Use o utilitário zip favorito para descompactar o pacote para um diretório na 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 de comunicação remota usando a "outra técnica de 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.2.1-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.2.1-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

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

Comunicação remota do PowerShell

O PowerShell dá suporte ao protocolo PSRP (comunicação remota do PowerShell) por WSMan e SSH. Para obter mais informações, consulte:

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

  • Instale o Windows Management Framework (WMF) 5.1 (se necessário). Saiba mais sobre o WMF em Visão geral do WMF.
  • Instale o Universal C Runtime em versões do Windows anteriores ao Windows 10. Ele está disponível por meio do Windows Update ou de download direto. Os sistemas totalmente corrigidos já têm esse pacote instalado.

Versões com suporte do Windows

A tabela a seguir é uma lista de versões do PowerShell e as versões do Windows nas quais elas têm suporte. Essas versões serão compatíveis até que a versão do PowerShell atinja o fim do suporte ou a versão do Windows atinja o fim do suporte.

  • Um ✅ indica que a versão do sistema operacional ou do PowerShell ainda tem suporte
  • Um &#x274c indica que a versão do sistema operacional ou do PowerShell não tem suporte
  • Um 🟡 indica que a versão do PowerShell não tem mais suporte nessa versão do sistema operacional
  • Quando a versão do sistema operacional e a versão do PowerShell têm ✅, há suporte para essa combinação
Windows 7.0 (LTS) 7.1 7.2 (LTS – atual) 7.3 (versão prévia)
✅ Windows Server 2016, 2019 ou 2022
✅ Windows Server 2012 R2
✅ Windows Server Core (2012 R2 ou superior)
✅ Windows Server Nano (1809 ou superior)
❌ Windows Server 2012 🟡 🟡
❌ Windows Server 2008 R2 🟡 🟡
✅ Windows 11
✅ Windows 10 1607+
✅ Windows 8.1

Observação

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

O PowerShell tem suporte no Windows para as arquiteturas de processador a seguir.

Windows 7.0 (LTS) 7.1 7.2 (LTS – atual) 7.3 (versão prévia)
Nano Server versão 1803+ x64, Arm32 x64 x64 x64
Windows Server 2012 R2+ x64, x86 x64, x86 x64, x86 x64, x86
Windows Server Core 2012 R2+ x64, x86 x64, x86 x64, x86 x64, x86
Cliente do Windows 10 ou 11 x64, x86 x64, x86, Arm64 x64, x86, Arm64 x64, x86, Arm64
Cliente do Windows 8.1 x64, x86 x64, x86 x64, x86 x64, x86

Você pode verificar qual versão está usando ao executar winver.exe.

Suporte à instalação

A Microsoft dá suporte aos 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 dar suporte a esses métodos.