Introdução com a Galeria do PowerShell

O Galeria do PowerShell é um repositório de pacotes que contém scripts, módulos e recursos do DSC que pode transferir e tirar partido. Utilize os cmdlets no módulo PowerShellGet para instalar pacotes a partir do Galeria do PowerShell. Não precisa de iniciar sessão para transferir itens do Galeria do PowerShell.

Nota

É possível transferir um pacote do Galeria do PowerShell diretamente, mas esta não é uma abordagem recomendada. Para obter mais detalhes, veja Manual Package Download (Transferência Manual de Pacotes).

Pode encontrar pacotes no Galeria do PowerShell através do controlo Procurar na home page do Galeria do PowerShell ou ao navegar pelos Módulos e Scripts a partir da página Pacotes. Também pode encontrar pacotes do Galeria do PowerShell ao executar os Find-Modulecmdlets , Find-DscResourcee Find-Script , consoante o tipo de pacote, com -Repository PSGallery.

Pode filtrar os resultados da Galeria com os seguintes parâmetros:

  • Name
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • Etiqueta
  • Inclusões
  • DscResource
  • RoleCapability
  • Comando
  • Filtro

Se só estiver interessado em detetar recursos DSC específicos na Galeria, pode executar o Find-DscResource cmdlet . Find-DscResource devolve dados em recursos do DSC contidos na Galeria. Uma vez que os recursos do DSC são sempre fornecidos como parte de um módulo, ainda tem de executar Install-Module para instalar esses recursos do DSC.

Depois de identificar um pacote no qual está interessado, poderá querer saber mais sobre o mesmo. Pode fazê-lo ao examinar a página específica desse pacote na Galeria. Nessa página, poderá ver todos os metadados carregados com o pacote. Estes metadados são fornecidos pelo autor do pacote e não são verificados pela Microsoft. O Proprietário do pacote está fortemente associado à conta galeria utilizada para publicar o pacote e é mais fidedigno do que o campo Autor.

Se descobrir um pacote que acha que não está publicado de boa-fé, clique em Denunciar Abuso na página desse pacote.

Se estiver a executar Find-Module ou Find-Script, pode ver estes dados no objeto PSGetModuleInfo devolvido. O exemplo seguinte devolve dados no módulo PSReadLine na Galeria.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

Recomendamos o seguinte processo ao transferir pacotes do Galeria do PowerShell:

Inspecionar

Para transferir um pacote da Galeria para inspeção, execute o Save-Module cmdlet ou Save-Script , dependendo do tipo de pacote. Isto permite-lhe guardar o pacote localmente sem o instalar e inspecionar o conteúdo do pacote. Lembre-se de eliminar o pacote guardado manualmente.

Alguns destes pacotes são criados pela Microsoft e outros são criados pela comunidade do PowerShell. A Microsoft recomenda que reveja o conteúdo e o código dos pacotes nesta galeria antes da instalação.

Se descobrir um pacote que acha que não está publicado de boa-fé, clique em Denunciar Abuso na página desse pacote.

Instalar

Para instalar um pacote a partir da Galeria para utilização, execute o Install-Module cmdlet ou Install-Script , dependendo do tipo de pacote.

Install-Module instala o módulo para $env:ProgramFiles\WindowsPowerShell\Modules por predefinição. Isto requer uma conta de administrador. Se adicionar o -Scope CurrentUser parâmetro , o módulo será instalado em $HOME\Documents\WindowsPowerShell\Modules .

Install-Script instala o script para $env:ProgramFiles\WindowsPowerShell\Scripts por predefinição. Isto requer uma conta de administrador. Se adicionar o -Scope CurrentUser parâmetro , o script é instalado em $HOME\Documents\WindowsPowerShell\Scripts .

Por predefinição, Install-Module e Install-Script instala a versão mais atual de um pacote. Para instalar uma versão mais antiga do pacote, adicione o -RequiredVersion parâmetro .

Implementar

Para implementar um pacote do Galeria do PowerShell para Automatização do Azure, clique em Automatização do Azure e, em seguida, clique em Implementar para Automatização do Azure na página de detalhes do pacote. É redirecionado para o Portal de Gestão do Azure onde inicia sessão com as credenciais da conta do Azure. Tenha em atenção que a implementação de pacotes com dependências implementa todas as dependências no Automatização do Azure. O botão "Implementar no Automatização do Azure" pode ser desativado ao adicionar a etiqueta AzureAutomationNotSupported aos metadados do pacote.

Para saber mais sobre Automatização do Azure, veja a documentação do Automatização do Azure.

Para atualizar os pacotes instalados a partir do Galeria do PowerShell, execute o Update-Module cmdlet ou Update-Script . Quando executado sem parâmetros adicionais, Update-Module tenta atualizar todos os módulos instalados ao executar Install-Module. Para atualizar seletivamente os módulos, adicione o -Name parâmetro .

Da mesma forma, quando executado sem parâmetros adicionais, Update-Script também tenta atualizar todos os scripts instalados ao executar Install-Script. Para atualizar seletivamente os scripts, adicione o -Name parâmetro .

Para saber que módulos instalou a partir do Galeria do PowerShell, execute o Get-InstalledModule cmdlet . Este comando lista todos os módulos que tem no seu sistema que foram instalados diretamente a partir do Galeria do PowerShell.

Da mesma forma, para saber que scripts instalou a partir do Galeria do PowerShell, execute o Get-InstalledScript cmdlet . Este comando lista todos os scripts que tem no seu sistema que foram instalados diretamente a partir do Galeria do PowerShell.

Estes nomes de anfitrião devem ser adicionados às listas de permissões que controlam o acesso a partir da sua rede.

Anfitriões necessários para a deteção e transferência de pacotes:

  • onegetcdn.azureedge.net - Nome do anfitrião da CDN

Anfitriões necessários ao utilizar o site do Galeria do PowerShell:

  • devopsgallerystorage.blob.core.windows.net - nome do anfitrião da conta de armazenamento
  • *.powershellgallery.com - Web site
  • go.microsoft.com - serviço de redirecionamento

Importante

A partir de abril de 2020, o Galeria do PowerShell já não suporta as versões 1.0 e 1.1 do Transport Layer Security (TLS). Se não estiver a utilizar o TLS 1.2 ou superior, receberá um erro ao tentar aceder ao Galeria do PowerShell. Utilize o seguinte comando para garantir que está a utilizar o TLS 1.2:

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

Para obter mais informações, veja o anúncio no blogue do PowerShell.