Compartilhar via


Introdução à Galeria do PowerShell

A Galeria do PowerShell é um repositório de pacotes que contém scripts, módulos e recursos DSC que você pode baixar e aproveitar. Você usa os cmdlets no módulo PowerShellGet para instalar pacotes da Galeria do PowerShell. Você não precisa entrar para baixar itens da Galeria do PowerShell.

Nota

É possível baixar um pacote diretamente da Galeria do PowerShell, mas essa não é uma abordagem recomendada. Para obter mais detalhes, consulte Manual Package Download.

Você pode encontrar pacotes na Galeria do PowerShell usando o controle Pesquisar na página inicial da Galeria do PowerShellou navegando pelos Módulos e Scripts da página Pacotes. Você também pode encontrar pacotes da Galeria do PowerShell executando os cmdlets Find-Module, Find-DscResourcee Find-Script, dependendo do tipo de pacote, com -Repository PSGallery.

Você pode filtrar os resultados da Galeria usando os seguintes parâmetros:

  • Nome
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • Etiqueta
  • Inclui
  • DscResource
  • RoleCapability
  • Comando
  • Filtro

Se você estiver interessado apenas em descobrir recursos específicos de DSC na Galeria, poderá executar o cmdlet Find-DscResource. Find-DscResource retorna dados sobre os recursos DSC contidos na Galeria. Como os recursos de DSC são sempre entregues como parte de um módulo, você ainda precisa executar Install-Module para instalar esses recursos de DSC.

Depois de identificar um pacote no qual você está interessado, talvez você queira saber mais sobre ele. Você pode fazer isso examinando a página específica desse pacote na Galeria. Nessa página, você poderá ver todos os metadados carregados com o pacote. Esses metadados são fornecidos pelo autor do pacote e não são verificados pela Microsoft. O Proprietário do pacote está fortemente vinculado à conta da Galeria usada para publicar o pacote e é mais confiável do que o campo Autor.

Se você descobrir um pacote que você acha que não foi publicado de boa fé, clique em relatar de abuso na página desse pacote.

Se você estiver executando ou , poderá exibir esses dados no objeto PSGetModuleInfo retornado. O exemplo a seguir retorna dados no módulo PSReadLine na Galeria.

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

Incentivamos o seguinte processo ao baixar pacotes da Galeria do PowerShell:

Inspecionar

Para baixar um pacote da Galeria para inspeção, execute o cmdlet Save-Module ou Save-Script, dependendo do tipo de pacote. Isso permite que você salve o pacote localmente sem instalá-lo e inspecione o conteúdo do pacote. Lembre-se de excluir o pacote salvo manualmente.

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

Se você descobrir um pacote que você acha que não foi publicado de boa fé, clique em relatar de abuso na página desse pacote.

Instalar

Para instalar um pacote da Galeria para uso, execute o cmdlet Install-Module ou Install-Script, dependendo do tipo de pacote.

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

Install-Script instala o script para $env:ProgramFiles\WindowsPowerShell\Scripts por padrão. Isso requer uma conta de administrador. Se você adicionar o parâmetro -Scope CurrentUser, o script será instalado para $HOME\Documents\WindowsPowerShell\Scripts .

Por padrã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 parâmetro -RequiredVersion.

Implantar

Para implantar um pacote da Galeria do PowerShell na Automação do Azure, clique em de Automação do Azure e clique em Implantar no de Automação do Azure na página de detalhes do pacote. Você é redirecionado para o Portal de Gerenciamento do Azure, no qual entra usando suas credenciais de conta do Azure. Observe que a implantação de pacotes com dependências implanta todas as dependências na Automação do Azure. O botão "Implantar na Automação do Azure" pode ser desabilitado adicionando a marca de AzureAutomationNotSupported aos metadados do pacote.

Para saber mais sobre a Automação do Azure, consulte a documentação do de Automação do Azure.

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

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

Para descobrir quais módulos você instalou na Galeria do PowerShell, execute o cmdlet Get-InstalledModule. Este comando lista todos os módulos que você tem em seu sistema que foram instalados diretamente da Galeria do PowerShell.

Da mesma forma, para descobrir quais scripts você instalou na Galeria do PowerShell, execute o cmdlet Get-InstalledScript. Esse comando lista todos os scripts que você tem em seu sistema que foram instalados diretamente da Galeria do PowerShell.

Esses nomes de host devem ser adicionados às listas de permissão que controlam o acesso da rede.

Hosts necessários para descoberta e download do pacote:

  • onegetcdn.azureedge.net
  • powershellgallery.azureedge.net
  • psg-prod-eastus.azureedge.net

Hosts necessários ao usar o site da Galeria do PowerShell:

  • *.powershellgallery.com - site
  • go.microsoft.com e aka.ms – serviços de redirecionamento

Importante

A partir de abril de 2020, a Galeria do PowerShell não dá mais suporte ao TLS (Transport Layer Security) versões 1.0 e 1.1. Se você não estiver usando o TLS 1.2 ou superior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que você esteja usando o TLS 1.2:

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

Para obter mais informações, consulte o comunicado no blog do PowerShell.