Bem-vindo à segunda aula do curso de PowerShell! Agora que você já sabe o que é o PowerShell e seus conceitos básicos, chegou a hora de preparar o ambiente de desenvolvimento. Nesta aula, vamos instalar o PowerShell no Windows, Linux e macOS, entender as diferenças entre as versões e configurar o VS Code para escrever scripts com mais produtividade.

O PowerShell evoluiu significativamente desde sua primeira versão. Atualmente, existem duas vertentes principais: o Windows PowerShell (baseado no .NET Framework) e o PowerShell 7+ (baseado no .NET Core/.NET 5+), que é multiplataforma. Saber qual instalar e como verificar a versão é essencial para evitar incompatibilidades.

Windows PowerShell vs PowerShell 7+

O Windows PowerShell é a versão original, incluída nativamente no Windows desde o Windows 7/Server 2008 R2. Ele é baseado no .NET Framework e tem versões até a 5.1. Embora ainda seja amplamente usado, está em manutenção e não receberá novos recursos. É ideal para scripts legados e ambientes que exigem compatibilidade com versões antigas.

O PowerShell 7+ (também chamado de PowerShell Core) é a versão moderna, baseada no .NET Core (agora .NET 5/6/7/8). Ele é multiplataforma (Windows, Linux, macOS) e traz melhorias significativas, como operadores ternários, pipeline paralelo e compatibilidade com cmdlets do Windows PowerShell via módulo WindowsCompatibility. A Microsoft recomenda usar PowerShell 7+ para novos projetos. A versão atual estável é a 7.4 (no momento da escrita).

Ambas as versões podem coexistir no mesmo sistema. O PowerShell 7+ é instalado em um diretório separado e usa o executável pwsh.exe (ou pwsh no Linux/macOS), enquanto o Windows PowerShell usa powershell.exe. Você pode alternar entre elas livremente.

Instalando no Windows/Linux/macOS

A instalação do PowerShell 7+ é simples e pode ser feita de várias formas. Abaixo, os métodos mais comuns para cada sistema operacional.

Windows

No Windows, a forma mais fácil é usar o instalador MSI ou o winget (gerenciador de pacotes nativo).

  • Usando winget: Abra o Prompt de Comando ou PowerShell e execute: winget install --id Microsoft.PowerShell --source winget
  • Usando MSI: Baixe o instalador em https://github.com/PowerShell/PowerShell/releases e execute-o.
  • Usando o Microsoft Store: Pesquise "PowerShell" na Microsoft Store e instale a versão mais recente.

Exemplo de instalação via winget:

# Instalar PowerShell 7+ no Windows via winget
winget install --id Microsoft.PowerShell --source winget

Linux

No Linux, o PowerShell pode ser instalado via gerenciador de pacotes (apt, yum, dnf, zypper) ou via snap. Abaixo, exemplos para distribuições baseadas em Debian/Ubuntu e Red Hat.

  • Ubuntu/Debian (apt): Siga os comandos abaixo para adicionar o repositório da Microsoft e instalar.
# Atualizar lista de pacotes
sudo apt-get update

# Instalar pré-requisitos
sudo apt-get install -y wget apt-transport-https software-properties-common

# Baixar e adicionar chave do repositório
wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
sudo dpkg -i packages-microsoft-prod.deb

# Instalar PowerShell
sudo apt-get update
sudo apt-get install -y powershell
  • Red Hat/CentOS (yum/dnf): Adicione o repositório e instale.
# Registrar o repositório da Microsoft
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

# Instalar PowerShell
sudo yum install -y powershell
# ou no CentOS 8+: sudo dnf install -y powershell

Após a instalação, inicie o PowerShell com o comando pwsh.

macOS

No macOS, a instalação pode ser feita via Homebrew ou baixando o pacote PKG diretamente.

Exemplo via Homebrew:

# Instalar PowerShell no macOS via Homebrew
brew install --cask powershell

Verificando versão

Depois de instalar, é importante verificar se a instalação foi bem-sucedida e qual versão está rodando. Use o cmdlet $PSVersionTable ou Get-Host.

Exemplo:

# Exibir informações detalhadas da versão
$PSVersionTable

A saída será algo como:

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Para ver apenas a versão principal, use $PSVersionTable.PSVersion. Se você tiver Windows PowerShell e PowerShell 7+, lembre-se de que cada um tem seu próprio ambiente. No Windows PowerShell, a saída de $PSVersionTable mostrará PSVersion 5.1 e PSEdition Desktop.

VSCode e extensões

O Visual Studio Code (VS Code) é o editor recomendado para escrever scripts PowerShell, pois oferece realce de sintaxe, depuração, IntelliSense e integração com Git. Para configurar:

  1. Instale o VS Code em https://code.visualstudio.com/.
  2. Instale a extensão PowerShell da Microsoft. No VS Code, pressione Ctrl+Shift+X (ou Cmd+Shift+X no macOS), pesquise "PowerShell" e clique em Instalar.
  3. Configure o perfil do PowerShell (opcional): O VS Code usará automaticamente o PowerShell 7+ se estiver instalado. Você pode alterar a versão no arquivo de configurações (settings.json) adicionando: "powershell.powerShellAdditionalExePaths": [{"commandName": "PowerShell 7", "exePath": "C:\Program Files\PowerShell\7\pwsh.exe"}].

Com a extensão instalada, você pode criar um arquivo .ps1 e começar a escrever scripts. O VS Code oferece suporte a snippets, formatação automática e depuração passo a passo.

Exemplo de script simples para testar:

# hello.ps1
Write-Host "Olá, PowerShell!"
Get-Date

Pressione F5 para executar (depuração) ou Ctrl+F5 para executar sem depuração.

Boas práticas

  • Sempre use PowerShell 7+ para novos scripts, a menos que haja requisitos de compatibilidade com Windows PowerShell.
  • Mantenha o PowerShell atualizado: as versões mais recentes trazem correções de segurança e novos recursos.
  • No VS Code, configure o formato de arquivo como UTF-8 com BOM para evitar problemas com caracteres especiais.
  • Use o comando Update-Help periodicamente para baixar a ajuda local dos cmdlets.

Referências

Exercícios

  1. Instale o PowerShell 7+ no seu sistema operacional (Windows, Linux ou macOS). Após a instalação, execute o comando $PSVersionTable e anote a versão do PowerShell e a edição (PSEdition).
  2. ✓ Resposta: A resposta varia conforme a versão instalada. Exemplo de saída esperada (PowerShell 7.4.6, PSEdition Core):
    PSVersion                      7.4.6
    PSEdition                      Core
  3. No Windows, se você tiver o Windows PowerShell 5.1 instalado, como você pode iniciar o PowerShell 7+? E como iniciar o Windows PowerShell?
  4. ✓ Resposta: Para iniciar o PowerShell 7+, procure por "PowerShell 7" no menu Iniciar ou execute pwsh no Prompt de Comando ou no Windows PowerShell. Para iniciar o Windows PowerShell, procure por "Windows PowerShell" ou execute powershell.
  5. No Linux, após instalar o PowerShell via apt, qual comando você usa para iniciar o PowerShell? E como verificar se a instalação foi bem-sucedida?
  6. ✓ Resposta: Use o comando pwsh para iniciar o PowerShell. Para verificar a instalação, execute pwsh -c '$PSVersionTable.PSVersion' ou simplesmente inicie e digite $PSVersionTable.
  7. Instale a extensão PowerShell no VS Code. Crie um arquivo chamado teste.ps1 com o conteúdo Write-Host 'Meu primeiro script' e execute-o pressionando F5. Qual é a saída esperada no terminal integrado?
  8. ✓ Resposta: A saída será: Meu primeiro script.
  9. Qual é a diferença principal entre Windows PowerShell e PowerShell 7+ em termos de plataforma e base tecnológica?
  10. ✓ Resposta: Windows PowerShell é baseado no .NET Framework, roda apenas no Windows e está na versão 5.1 (última). PowerShell 7+ é baseado no .NET Core (ou .NET 5+), é multiplataforma (Windows, Linux, macOS) e recebe atualizações regulares com novos recursos.

Considerações finais

Com o PowerShell instalado e o VS Code configurado, você está pronto para começar a escrever scripts de forma produtiva. Lembre-se de verificar sempre a versão do PowerShell que está usando, especialmente se estiver seguindo tutoriais online, pois alguns comandos podem diferir entre as versões. Na próxima aula, vamos explorar os comandos básicos e a sintaxe do PowerShell.