Módulos do PowerShell que transformaram meu fluxo de trabalho

Se você ainda depende de scripts personalizados do PowerShell para transferências simples de arquivos ou geração de relatórios do Excel, é hora de otimizar seu fluxo de trabalho. Módulos pré-criados do PowerShell podem lidar com a maioria das tarefas rotineiras com muito mais eficiência do que qualquer coisa que você possa criar manualmente.

Para começar a usar esses módulos, certifique-se de estar executando pelo menos o PowerShell 5.1. Embora muitos módulos sejam compatíveis com o PowerShell 7 em diversas plataformas, alguns podem ser limitados ao Windows. Também é crucial habilitar a execução de scripts ajustando sua política de execução da seguinte forma:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

Ao instalar módulos, use consistentemente o parâmetro -Scope CurrentUser para eliminar a necessidade de permissões administrativas.

6 PSReadLine

Incluído por padrão no PowerShell, o PSReadLine costuma ser subutilizado, mesmo por usuários experientes. Este módulo aprimora sua experiência de linha de comando com recursos como destaque de sintaxe, edição multilinha e recursos preditivos do IntelliSense.

Terminal PowerShell com o módulo PSReadLine instalado
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Para obter a versão mais recente do PSReadLine, use o seguinte comando:

Install-Module -Name PSReadLine -Scope CurrentUser -Force

Habilitar o IntelliSense aprimorará seu histórico de comandos, fornecendo sugestões conforme você digita. Ative-o com:

Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView

Após a execução de alguns comandos anteriores, como ipconfig ou Get-Service, o IntelliSense sugerirá opções do seu histórico conforme você começa a digitar. Você pode navegar por essas sugestões usando as teclas de seta para cima e para baixo, confirmando sua seleção com a tecla Enter.

5 Importar Excel

Com mais de 14 milhões de downloads, o ImportExcel é uma escolha popular para usuários que desejam criar planilhas do Excel sem precisar do próprio Excel — ideal para ambientes de servidor ou scripts de automação.

Importar módulo do Excel no terminal do PowerShell
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Para instalar o ImportExcel, digite o seguinte comando:

Install-Module -Name ImportExcel -Scope CurrentUser

Este módulo pode executar tarefas que vão desde exportações básicas até funções mais complexas, como tabelas dinâmicas e formatação condicional. Por exemplo, para exportar informações sobre processos em execução para uma planilha formatada, use:

Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow

Este comando reúne todos os serviços ativos e os exporta para um arquivo Excel, formatando as colunas para ajustar o conteúdo e congelando a linha de cabeçalho para maior conveniência.

Relatório Excel gerado pelo ImportExcel
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

4 PSWriteHTML

O PSWriteHTML permite que você transforme a saída do PowerShell em relatórios HTML, completos com tabelas e gráficos, sem exigir conhecimento prévio de codificação HTML.

Comando de exportação do módulo PSWriteHTML
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Instale o módulo com o comando:

Install-Module -Name PSWriteHTML -Scope CurrentUser

Para criar um relatório do sistema destacando os dez principais processos por uso da CPU, use:

Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}

O HTML gerado apresenta recursos de classificação, filtragem e exportação baseados em JavaScript.

Resultado da exportação do módulo PSWriteHTML
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

3 PSWindowsUpdate

Como o módulo mais popular na Galeria do PowerShell, com mais de 33 milhões de downloads, o PSWindowsUpdate oferece cmdlets projetados especificamente para gerenciar o Windows Update Client.

Módulo PowerShell PSWindowsUpdate
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Instale-o usando o seguinte comando:

Install-Module -Name PSWindowsUpdate -Scope CurrentUser

Este módulo fornece cmdlets para gerenciamento abrangente do Windows Update — ideal para automatizar tarefas. Verifique se há atualizações pendentes em vários servidores simultaneamente com:

$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize

Isso revela rapidamente atualizações pendentes em seus servidores. Você pode instalar atualizações específicas, ocultar atualizações problemáticas ou agendar instalações convenientemente. Utilize o parâmetro -AcceptAll para ignorar os prompts de confirmação.

2 ícones de terminal

Renove sua experiência com o terminal do PowerShell com o Terminal-Icons, que adiciona ícones reconhecíveis aos arquivos em listagens de diretórios. Cada tipo de arquivo é representado com seu ícone e cor exclusivos, melhorando a visibilidade e facilitando a navegação.

Módulo PowerShell Terminal-Icons
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Para instalar, execute:

Install-Module -Name Terminal-Icons -Scope CurrentUser

Este módulo aprimora a saída de Get-ChildItem. Após a instalação, para ver os ícones, use:

Import-Module Terminal-Icons

Posteriormente, ao executar Get-ChildItem ou seus aliases, cada tipo de arquivo exibirá seu respectivo ícone e cor. Os scripts do PowerShell exibirão o logotipo do PowerShell e as pastas exibirão os ícones de pasta designados. Essa atualização estética não apenas melhora a aparência do seu terminal, como também ajuda a identificar arquivos rapidamente ao navegar entre as guias. Observe que a instalação de uma fonte Nerd é necessária para que os ícones sejam renderizados corretamente.

Módulo Terminal-Icons PowerShell com Get-ChildItem
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

1 Transferetto

Transferetto é um módulo do PowerShell projetado para simplificar a interação com FTP, FTPS e SFTP. Em vez de se aprofundar em classes. NET ou utilizar ferramentas de terceiros, ele oferece cmdlets intuitivos e nativos do PowerShell.

Módulo Transferetto PowerShell
Crédito da imagem – auto-capturado (Tashreef Shareef) – Atribuição não necessária

Para instalar o Transferetto, use:

Install-Module -Name Transferetto -Scope CurrentUser

O fluxo de trabalho é muito semelhante ao dos módulos de banco de dados: conectar, executar tarefas e desconectar:

$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client

Além das funções básicas, o Transferetto acomoda configurações SSL, métodos de criptografia, opções de validação de certificado e o comando Request-FTPConfiguration, que pode testar automaticamente as configurações de conexão do seu servidor.

Além disso, ele não se restringe a arquivos individuais; você pode carregar diretórios inteiros usando o Send-FTPDirectory ou até mesmo realizar transferências FXP (cópia de arquivos de servidor para servidor).Com suporte para SFTP e SSH, ele também permite que você execute comandos remotos em conjunto com suas transferências de arquivos.

Como o Transferetto opera no Windows PowerShell 5.1 e no PowerShell 7+, seus scripts permanecem funcionais nas plataformas Windows, Linux e macOS sem exigir nenhuma modificação.

Mesmo que seu uso do PowerShell se limite a tarefas básicas, familiarizar-se com vários módulos pode transformar sua eficiência. Módulos como o PSReadLine aceleram a digitação com sugestões preditivas, o ImportExcel permite o gerenciamento fácil de planilhas sem o Excel e os ícones de terminal aprimoram a legibilidade da interface do seu terminal.

Uma vasta gama de módulos está disponível na Galeria do PowerShell. Certifique-se de verificar a compatibilidade e o histórico de atualizações antes da instalação. Comece com um ou dois módulos que atendam diretamente às suas necessidades mais urgentes e, em seguida, expanda gradualmente seu kit de ferramentas à medida que se sentir mais confortável.

Fonte e Imagens