O Windows PowerShell é parte integrante do sistema operacional Windows. É um shell de linha de comando e uma linguagem de script usada para automatizar tarefas repetitivas demoradas, criar ferramentas de gerenciamento personalizadas e criar, testar e implantar soluções para vários outros problemas.

A versão padrão do PowerShell que vem pré-embalada no sistema operacional Windows é o PowerShell 5.1, ou simplesmente Windows PowerShell. Mas com o PowerShell 7 já lançado e estável, não faz mais sentido para o sistema operacional Windows usar a versão mais recente do PowerShell? Quais benefícios o PowerShell 7 oferece? E vale a pena atualizar? Vamos conversar a respeito disso!

O que é o PowerShell 7?

O PowerShell 7 é a versão LTS mais recente do PowerShell. Esta versão do PowerShell é desenvolvida por meio da estrutura .NET Core mais recente, que permite várias atualizações importantes que os usuários avançados do Windows acharão úteis.

O PowerShell 7 está registrado e licenciado sob a licença MIT. É agora

instagram viewer
software livre, onde as pessoas podem visualizar, modificar e distribuir livremente sua própria cópia do código-fonte do software. Os desenvolvedores também podem contribuir com os lançamentos oficiais do PowerShell ingressando Página oficial do GitHub do PowerShell.

Com o suporte da comunidade, esta versão do PowerShell agora é multiplataforma! O que significa que agora pode ser instalado e usado no Windows, macOS e Linux. Aqui está uma lista do sistema operacional x64 suportado:

  • Windows 8.1, 10, 11
  • Windows Server 2012, 2012 R2, 2016 e 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Fedora 30+
  • Debian 9
  • Ubuntu LTS 16.04+

Alpine Linux 3.8+ PowerShell 7 também é compatível com várias distribuições ARM32 e ARM64 do Debian, Ubuntu e ARM64 Alpine Linux. Para os interessados, também existem pacotes não suportados para Arch e Kali Linux.

Quais são os novos recursos incluídos no PowerShell 7?

Crédito da imagem: Windows/Unsplash

Além de ser multiplataforma e de código aberto, o PowerShell 7 tem muitos outros novos recursos que melhoram ainda mais a produtividade. Aqui estão alguns dos mais notáveis:

1. Compatibilidade com versões anteriores aprimorada

Com a diferença na estrutura, as versões do Windows PowerShell e do PowerShell usando a estrutura .NET Core terão incompatibilidades. Para facilitar a transição das pessoas, o PowerShell 7 agora integra o módulo WindowsCompatibility. Este módulo foi projetado para permitir que os módulos do Windows PowerShell e muitos comandos CMD populares para trabalhar no PowerShell 7.

2. Paralelização de pipeline com ForEach-Object

O PowerShell 7 agora tem um parâmetro Parallel. No Windows PowerShell, cada objeto canalizado usando o cmdlet ForEach-Object será executado um de cada vez. Mas com o novo parâmetro Parallel, todos os objetos canalizados agora são executados simultaneamente. Isso melhora drasticamente o desempenho, o que pode economizar seu tempo.

3. Operadores Ternários

As condicionais do Windows PowerShell são feitas por meio de instruções if-else. O PowerShell 7 torna isso ainda mais simples ao introduzir operadores ternários, que são basicamente versões simplificadas das instruções if-else usando “?” e “:” na sintaxe. Esse recurso permite uma experiência de script mais rápida e limpa.

4. Operadores de cadeia de dutos

Os operadores de pipeline são um recurso importante do Windows PowerShell. Ele permite que você crie expressões complexas pegando a saída de um cmdlet e usando-a em outro cmdlet. Isso, no entanto, é limitado, pois o Windows PowerShell não pode processar expressões condicionais usando operadores de pipeline regulares.

O PowerShell 7 corrige esse problema introduzindo operadores de cadeia de pipeline, que são “&&” e “||”. Esse novo operador de pipeline permite que o PowerShell execute comandos com expressões condicionais.

O operador && é usado para executar o comando de pipeline à direita somente se o comando antes do operador for bem-sucedido. Enquanto operador || só executará o comando de pipeline à direita se o comando antes do operador falhar.

Por que o PowerShell 7 não é o padrão no Windows?

Crédito da imagem: Mike Schinkel/Flickr

O PowerShell 7 é um software de plataforma cruzada de código aberto que fornece recursos que podem melhorar drasticamente o desempenho e a velocidade de script. Então, por que a Microsoft não o torna o PowerShell padrão no Windows?

O PowerShell atual que vem pré-instalado com os sistemas Windows mais recentes é o PowerShell 5.1. Esta é a última versão do PowerShell que usa a estrutura .NET. Embora seja verdade que suas versões posteriores fornecem recursos melhores, o Windows PowerShell ainda tem uma vantagem que o PowerShell mais recente não oferece: compatibilidade com versões anteriores completa.

O primeiro PowerShell foi lançado em 14 de novembro de 2006. Isso foi quando o Windows Vista e XP ainda eram o sistema operacional Windows mais recente. De acordo com pesquisa da enlyft, só os Estados Unidos têm mais de 46.000 empresas que ainda usam o Windows XP. Essas empresas simplesmente não podem atualizar para o PowerShell mais recente, pois isso causaria muitos problemas de incompatibilidade com versões anteriores, mesmo com o módulo WindowsCompatibility integrado do PowerShell 7.

Para grandes empresas e várias infraestruturas críticas (caixas eletrônicos, fornecedores de energia, ferrovias, hospitais, etc.), atrasar serviço por semanas a meses apenas para reconstruir, testar e implantar scripts que já funcionavam com o PowerShell 5.1 simplesmente não é um opção. Não importa todos os bugs que podem surgir durante o horário de funcionamento real.

Como o PowerShell 5.1 é o PowerShell mais recente criado no. NET framework, é garantido que funcione com todas as versões anteriores do PowerShell, mesmo a lançada em 2006.

Você deve atualizar para o PowerShell 7?

O PowerShell 7 oferece muitas atualizações úteis que tornam a interface de linha de comando e a criação de scripts mais fáceis, rápidas e convenientes com seu suporte multiplataforma. Por outro lado, o Windows PowerShell oferece compatibilidade total com versões anteriores de todos os PowerShell legados anteriores ao PowerShell 6. Portanto, você deve continuar usando o Windows PowerShell ou atualizar para o PowerShell 7 mais recente?

O bom do PowerShell 7 é que ele foi projetado para coexistir com o Windows PowerShell 5.1. Além do módulo WindowsCompatibility integrado, o PowerShell 7 também fornece um caminho de instalação separado, nome executável, PSModulePath e logs de eventos para garantir que não interfira com o Windows já instalado PowerShell.

Portanto, para a grande maioria das pessoas que desejam experimentar os novos recursos do PowerShell 7, certamente podem fazê-lo mantendo o Windows PowerShell padrão. Se você está curioso para saber se o PowerShell mais recente é para você, definitivamente deve experimentar o PowerShell mais recente.

Embora o PowerShell 7 forneça boa compatibilidade com versões anteriores, sempre haverá algumas discrepâncias devido às diferenças na estrutura. Se você trabalha em uma empresa ou organização que depende muito de ferramentas e programas personalizados criados a partir do Windows PowerShell, migrar o sistema da empresa para o PowerShell 7 pode não ser uma boa ideia.

O PowerShell 7 forneceu muitas atualizações, mas também eliminou alguns módulos e cmdlets herdados. Se você é uma pessoa que já está satisfeita com o PowerShell padrão, não há motivo para migrar, especialmente se você não tiver tempo para ler a documentação.

O PowerShell 7 torna os scripts mais rápidos

O PowerShell 7 é uma das versões estáveis ​​mais recentes do PowerShell com suporte de longo prazo (LTS). Ele fornece uma maneira mais rápida e fácil de usar o PowerShell, mesmo se estiver usando outros sistemas operacionais como macOS ou Linux. Embora possa demorar um pouco para ler sua documentação, você economizará mais tempo quando se tornar proficiente com as novas atualizações.