Começando com o PowerShell Gallery

O PowerShell Gallery é o destino final para todas as suas necessidades relacionadas ao PowerShell, seja você um iniciante ou um usuário experiente. E a boa notícia é que há uma vasta coleção de documentação, scripts, módulos e outros recursos criados pela comunidade do PowerShell.

Neste tutorial, você aprenderá a encontrar, baixar e instalar recursos da PowerShell Gallery.

Fique ligado e aprimore suas habilidades de script hoje!

Pré-requisitos

Este tutorial será uma demonstração prática. Para acompanhar, certifique-se de ter um sistema com o PowerShell 5.1 ou posterior instalado. Este tutorial usa o Windows 10 com PowerShell 5.3 instalado, mas outras versões do Windows e do PowerShell também devem funcionar.

Instalando o .NET Framework

Antes de mergulhar na PowerShell Gallery, você precisa de uma maneira de interagir com ela, e o .NET Framework é a principal forma.

Primeiro, você deve instalar o .NET Framework, que é crucial para o módulo PowerShellGet. O módulo PowerShellGet requer pelo menos o .NET Framework v4.5+. Este módulo permite que você descubra, instale, atualize e publique artefatos do PowerShell.

Mas neste tutorial, você instalará o .NET Framework v4.8.

? Note que o .NET Framework v4.8 pode já estar instalado no seu sistema. Se for o caso, você pode pular esta etapa. Mas se você tiver uma versão mais antiga do .NET Framework, desinstale-a e atualize para uma versão mais recente.

Para instalar o .NET Framework, siga estas etapas:

1. Abra seu navegador da web favorito e vá para a página oficial de download do .NET Framework.

2. Em seguida, clique no link Baixar .NET Framework 4.8 Developer Pack para baixar um arquivo semelhante a ndp48-devpack-enu. Este arquivo é o pacote de instalação para a versão 4.8 do .NET Framework.

Downloading .NET Framework 4.8

3. Aguarde o download ser concluído e clique duas vezes no arquivo baixado para iniciar o instalador do .NET Framework.

Launching the .NET Framework installer

? Se você estiver com dificuldades para instalar o .NET Framework, tente executar o arquivo de instalação em [modo de compatibilidade]

4. Marque a caixa na parte inferior para aceitar os termos da licença e clique no botão Instalar para instalar o .NET Framework 4.8.

Accepting the license terms and conditions

Abaixo, você pode ver o progresso da instalação, o que pode levar alguns minutos, dependendo da configuração do seu sistema.

Viewing the installation progress

5. Agora, clique no botão Fechar para fechar o instalador uma vez que a instalação esteja completa.

Finishing the .NET Framework installation

6. Por último, abra o PowerShell como administrador e execute o seguinte comando [Start-Process] para abrir o aplicativo Adicionar ou Remover Programas (appwiz.cpl). Este aplicativo permite que você veja uma lista de programas instalados no seu sistema.

Start-Process "appwiz.cpl”

Você verá entradas para o .NET Framework 4.8 na lista de programas instalados, conforme mostrado abaixo.

Verifying the .NET Framework 4.8 installation

Instalando o Módulo PowerShellGet

Com o .NET Framework instalado e em execução, você pode agora instalar o componente central da Galeria PowerShell, o módulo PowerShellGet.

A versão do PowerShellGet (1.0.0.1) pré-instalada com o Windows PowerShell 5.1 possui recursos limitados. Se estiver utilizando o Windows PowerShell 5.1 ou anterior, considere utilizar as capacidades atualizadas do PowerShell Gallery. A versão mais recente é 3.0.17-beta17 no momento desta escrita.

Para instalar o módulo PowerShellGet, siga as etapas abaixo:

1. Execute o seguinte comando, que não produz saída, mas habilita Transport Layer Security (TLS) 1.2 em sua sessão do PowerShell. O TLS é um protocolo de segurança que criptografa os dados transmitidos pela internet.

Habilitar o TLS 1.2 é crucial, pois o PowerShell não está configurado para usar TLS 1.2 por padrão. Este comando define o SecurityProtocol para o objeto System.Net.ServicePointManager como TLS 1.2 (Tls12). Por sua vez, você obtém acesso ao PowerShell Gallery usando TLS 1.2 ou superior.

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

? Observe que esta alteração se aplica apenas à sessão atual do PowerShell. Mas você pode configurar o PowerShell para sempre usar o TLS 1.2 adicionando o comando acima ao seu perfil do PowerShell.

Em seguida, execute o comando Install-PackageProvider abaixo para instalar o provedor de pacotes NuGet. O provedor de pacotes NuGet permite que você instale e gerencie pacotes do repositório de pacotes NuGet. Este repositório é um repositório central de pacotes de código aberto para a plataforma .NET.

O provedor de pacotes NuGet é necessário antes de usar o [Install-Module] cmdlet para instalar módulos da PowerShell Gallery. Por quê? Muitos dos módulos na PowerShell Gallery são distribuídos como pacotes NuGet.

Install-PackageProvider -Name NuGet -Force
Installing the NuGet package provider

Uma vez instalado, agora você pode aproveitar a API do NuGet. A API do NuGet permite acessar o repositório de pacotes NuGet para criar ferramentas e aplicativos que podem interagir com o repositório de pacotes NuGet. Como interagir? Realizar várias tarefas, como buscar, instalar e atualizar pacotes.

Em geral, existem duas versões da API do NuGet, que você pode usar dependendo de seus requisitos e das capacidades de seu cliente e servidor.

Version Description Usage
v2 Uses XML as the data format for communication between the client and server.

This version is based on the original NuGet API introduced in 2011 and is the legacy version of the API.

The v2 API is recommended if you use an older version of NuGet or a client or server that does not support the v3 API.

This version is supported by all versions of NuGet and is compatible with older clients and servers.

v3 Uses JSON as the data format for communication between the client and server. This version was introduced in 2013 as an improvement over the v2 API and included many new features and improvements.

Many new features included are support for side-by-side package installation, improved search capabilities, and large package support.

The v3 API is recommended if you use a newer NuGet version. The v3 API is faster and more efficient than the v2 API.

This version is not supported by older versions of NuGet and may not be compatible with older clients and servers.

? Em geral, a API do NuGet v3 é recomendada, pois fornece os recursos e capacidades mais atualizados.

3. Execute o comando abaixo Set-PSRepository, que não fornece saída, mas configura o repositório PowerShell Gallery (PSGallery) como uma fonte de pacotes confiável. Isso permite que você instale módulos da PowerShell Gallery.

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -ErrorAction Stop

4. Agora, execute o comando Install-Module abaixo para instalar a versão mais recente (-AllowPrerelease) do módulo PowerShellGet.

Install-Module -Name PowerShellGet -AllowPrerelease -Force
Installing the latest version of PowerShellGet

5. Por fim, execute o comando Get-InstalledModule abaixo para verificar se o módulo PowerShellGet foi instalado com sucesso.

Get-InstalledModule PowerShellGet

Você verá o módulo PowerShellGet listado, como mostrado abaixo, com o PSGallery como o repositório se instalado com sucesso.

Verifying the PowerShellGet module installation

Descobrindo Módulos da PowerShell Gallery

Agora que você instalou o módulo PowerShellGet, pode procurar e instalar módulos na PowerShell Gallery. Isso permite que você expanda as capacidades do seu ambiente PowerShell e automatize tarefas complexas de maneira mais eficiente.

Para pesquisar um módulo na Galeria do PowerShell, você pode usar o cmdlet Find-Module. Este cmdlet busca na Galeria do PowerShell por módulos que correspondam aos critérios de pesquisa especificados, como o nome do módulo, versão ou tag.

1. Execute o comando Find-Module abaixo para pesquisar na Galeria do PowerShell por módulos com nomes que correspondam a AzureRM.

Find-Module -Name AzureRM

A saída abaixo indica apenas um módulo que corresponde ao nome AzureRM na Galeria do PowerShell. Você também pode ver informações básicas sobre cada módulo, como seu nome, versão, repositório, etc.

Discovering modules from the PowerShell Gallery

2. Em seguida, execute um dos comandos abaixo para pesquisar módulos usando uma -Tag com a palavra-chave Azure. O parâmetro -Tag é insensível a maiúsculas e minúsculas, então você pode usar azure ou Azure como a palavra-chave da tag.

Por que usar tags para um módulo? Uma tag é uma palavra-chave ou rótulo associado a um módulo, descrevendo seu conteúdo e funcionalidade na Galeria do PowerShell.

Por exemplo, se um módulo estiver relacionado à plataforma de nuvem Azure, você pode marcar a palavra-chave Azure. Fazendo isso, permite que usuários interessados em recursos relacionados ao Azure encontrem e descubram facilmente o módulo pesquisando pela tag Azure.

Find-Module -Tag 'Azure'
Find-Module -Tag 'azure'

O PowerShell Gallery é um extenso repositório de recursos contribuídos por uma ampla gama de autores, e existem muitos módulos relacionados a palavras-chave populares como Azure.

Como resultado, você verá uma longa lista de módulos que correspondem à sua palavra-chave ou tag, como nos seguintes exemplos.

Searching for modules in the PowerShell Gallery using a tag

? Você também pode usar tags para agrupar módulos relacionados e facilitar a busca por recursos relacionados. Por exemplo, use a tag Virtualization para agrupar módulos relacionados a tecnologias de virtualização, como Hyper-V ou VMware.

3. Agora, execute o seguinte comando para refinar sua pesquisa e encontrar um módulo específico combinando os parâmetros no cmdlet Find-Module.

O comando abaixo encontra um módulo na PowerShell Gallery considerando os seguintes parâmetros:

  • -Name – Pesquisar por módulos com um nome específico Az.Compute.

  • -Tag – Pesquisar por módulos com as tags Azure e Microsoft.
Find-Module -Name 'Az.Compute' -Tag 'Azure', 'Microsoft’
Filtering module search results

Instalando e Atualizando Módulos

Assim que você encontrar um módulo de seu interesse, instalá-lo é apenas uma questão de alguns comandos. Você pode usar o cmdlet Install-Module para baixar módulos da PowerShell Gallery e instalá-los em seu sistema local.

1. Execute o comando abaixo para baixar e instalar o módulo Az.Compute da PowerShell Gallery.

Se bem-sucedido, este comando não produzirá saída, mas você verificará a instalação no próximo passo.

Install-Module -Name 'Az.Compute'

2. Em seguida, execute o seguinte comando Get-InstalledModule para verificar se o módulo Az.Compute foi instalado no seu sistema.

Get-InstalledModule -Name 'Az.Compute'
Verifying a module installation

? Alternativamente, execute o cmdlet Get-InstalledModule sem parâmetros para exibir uma lista de todos os módulos instalados no seu sistema. Mas cuidado, você pode cansar os olhos enquanto rola pela lista se houver muitos módulos instalados.

Listing all installed modules

3. Agora, execute o seguinte comando Update-Module, que não fornece saída, mas procura pela versão mais recente de um módulo específico (ou seja, Az.Compute) e o atualiza.

Atualizar módulos instalados pode incluir correções de bugs, novos recursos ou outras melhorias.

Update-Module -Name Az.Compute

Desinstalando Módulos do PowerShell

Em algumas ocasiões, você pode querer remover um módulo do seu sistema. Por exemplo, se você não precisa mais de um módulo ou se ele está causando problemas.

Para desinstalar um módulo do seu sistema, você pode usar o cmdlet Uninstall-Module. Este cmdlet remove um módulo e todos os seus arquivos do seu sistema, efetivamente desinstalando-o.

? Certifique-se de considerar cuidadosamente as consequências de desinstalar um módulo antes de prosseguir. Desinstalar um módulo pode ter consequências não intencionais, como quebrar outros programas ou scripts que dependem do módulo.

Execute o seguinte comando Uninstall-Module para desinstalar um módulo específico (Az.Compute) do seu sistema. Este comando não produz nenhuma saída se a desinstalação for bem-sucedida.

Uninstall-Module -Name Az.Compute

? Se outros programas ou scripts estiverem usando o módulo atualmente, o cmdlet Uninstall-Module irá gerar um erro e a desinstalação falhará.

Conclusão

Os módulos do PowerShell são ferramentas poderosas que permitem adicionar funcionalidades ao seu ambiente do PowerShell rapidamente. Neste tutorial, juntamente com o PowerShell Gallery, você pode descobrir e instalar módulos com alguns comandos.

Aproveite o PowerShell Gallery e procure por módulos do PowerShell para personalizar e otimizar seus scripts e fluxos de trabalho do PowerShell hoje mesmo!

Source:
https://adamtheautomator.com/powershell-gallery/