História do PowerShell
Esta aula apresenta a história do PowerShell, desde sua criação como Monad por Jeffrey Snover até se tornar uma ferramenta multiplataforma de código aberto. Aborda a evolução do Windows PowerShell para o PowerShell Core e discute seu futuro.
Bem-vindos à primeira aula do nosso curso de PowerShell! Nesta aula, vamos explorar a história dessa poderosa ferramenta de automação, desde sua concepção até os dias atuais. Entender sua origem e evolução é fundamental para apreciar suas capacidades e seu papel no ecossistema de TI.
Introdução
PowerShell é um shell de linha de comando e uma linguagem de script desenvolvida pela Microsoft. Diferente de shells tradicionais como o cmd ou bash, o PowerShell é construído sobre o .NET Framework (e posteriormente .NET Core), permitindo manipular objetos, não apenas texto. Isso revolucionou a administração de sistemas Windows, oferecendo uma maneira mais consistente e poderosa de automatizar tarefas.
Cronologia (Monad, Jeffrey Snover, Windows PowerShell ao PowerShell Core)
A história começa em 2002, quando Jeffrey Snover, então engenheiro da Microsoft, percebeu que a administração de sistemas Windows era fragmentada e ineficiente. Ele propôs um novo shell baseado em objetos, chamado Monad (codinome). Em 2005, o Monad foi lançado como um beta público. Em 2006, foi renomeado para Windows PowerShell e lançado oficialmente. A versão 1.0 era apenas para Windows, mas já trazia cmdlets, pipeline de objetos e acesso a APIs .NET.
# Exemplo de cmdlet no PowerShell 1.0
Get-ProcessCom o tempo, novas versões foram lançadas: PowerShell 2.0 (com remoting, módulos e ISE), 3.0, 4.0 e 5.0. Em 2016, a Microsoft anunciou o PowerShell Core, uma versão multiplataforma baseada em .NET Core, tornando o PowerShell disponível para Linux e macOS. O PowerShell Core 6.0 foi lançado em 2018, e o 7.0 em 2020. Em 2022, o PowerShell 7.2 tornou-se a versão LTS (Long-Term Servicing).
# Verificar versão do PowerShell
$PSVersionTable.PSVersionMultiplataforma
Uma das mudanças mais significativas foi a adoção do .NET Core, permitindo que o PowerShell rodasse em Linux e macOS. Isso abriu portas para administradores que gerenciam ambientes heterogêneos. Hoje, o PowerShell 7 é uma ferramenta unificada, com cmdlets específicos para cada plataforma, mas com uma base comum.
# Comando válido em Windows, Linux e macOS
Get-ChildItemA instalação em diferentes sistemas pode ser feita via pacotes nativos (apt, yum, brew) ou manualmente. A Microsoft também disponibiliza imagens Docker.
Futuro
O PowerShell continua evoluindo. A versão 7.4 é a atual estável, com melhorias de desempenho e novos cmdlets. O foco está em manter a compatibilidade com módulos existentes e expandir o suporte a APIs modernas. A comunidade contribui ativamente com módulos no PowerShell Gallery. O futuro inclui maior integração com serviços em nuvem, como Azure, e possivelmente uma linguagem ainda mais simplificada para automação.
Referências
Exercícios
- Qual era o codinome original do PowerShell?Monad
- Quem é considerado o criador do PowerShell?Jeffrey Snover
- Em que ano foi lançado o PowerShell Core 6.0?2018
- Qual a principal diferença entre Windows PowerShell e PowerShell Core?O Windows PowerShell é baseado no .NET Framework e roda apenas no Windows, enquanto o PowerShell Core é baseado no .NET Core e é multiplataforma (Windows, Linux, macOS).
- Cite uma vantagem de usar PowerShell em ambientes multiplataforma.Permite gerenciar servidores Windows, Linux e macOS com uma única linguagem de script, simplificando a automação em ambientes heterogêneos.