Compartilhar via


Install-Module

Baixa um ou mais módulos de um repositório e os instala no computador local.

Sintaxe

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

O cmdlet Install-Module obtém um ou mais módulos que atendem aos critérios especificados de um repositório online. O cmdlet verifica se os resultados da pesquisa são módulos válidos e copia as pastas do módulo para o local de instalação. Os módulos instalados não são importados automaticamente após a instalação. Você pode filtrar qual módulo está instalado com base nas versões mínima, máxima e exata dos módulos especificados.

Este é um cmdlet proxy para o cmdlet Get-InstalledPSResource no Microsoft.PowerShell.PSResourceGet. Para obter mais informações, consulte Install-PSResource .

Exemplos

Exemplo 1: localizar e instalar um módulo

Este exemplo localiza um módulo no repositório e instala o módulo.

Find-Module -Name PowerShellGet | Install-Module

O usa o parâmetro Name para especificar o módulo PowerShellGet. Por padrão, a versão mais recente do módulo é baixada do repositório. O objeto é enviado pelo pipeline para o cmdlet Install-Module. Install-Module instala o módulo para todos os usuários no $env:ProgramFiles\PowerShell\Modules.

Exemplo 2: instalar um módulo por nome

Neste exemplo, a versão mais recente do módulo PowerShellGet está instalada.

Install-Module -Name PowerShellGet

O usa o parâmetro Name para especificar o módulo PowerShellGet. Por padrão, a versão mais recente do módulo é baixada do repositório e instalada.

Exemplo 3: instalar um módulo usando sua versão mínima

Neste exemplo, a versão mínima do módulo powershellGet está instalada. O parâmetro MinimumVersion especifica a versão mais baixa do módulo que deve ser instalada. Se uma versão mais recente do módulo estiver disponível, essa versão será baixada e instalada para todos os usuários.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

O usa o parâmetro Name para especificar o módulo PowerShellGet. O parâmetro MinimumVersion especifica que a versão 2.0.1 seja baixada do repositório e instalada. Como a versão 2.0.4 está disponível, essa versão é baixada e instalada para todos os usuários.

Exemplo 4: instalar uma versão específica de um módulo

Neste exemplo, uma versão específica do módulo PowerShellGet está instalada.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

O usa o parâmetro Name para especificar o módulo PowerShellGet. O parâmetro RequiredVersion especifica que a versão 2.0.0 seja baixada e instalada para todos os usuários.

Exemplo 5: Instalar um módulo somente para o usuário atual

Este exemplo baixa e instala a versão mais recente de um módulo, somente para o usuário atual.

Install-Module -Name PowerShellGet -Scope CurrentUser

O usa o parâmetro Name para especificar o módulo PowerShellGet. Install-Module baixa e instala a versão mais recente do PowerShellGet no diretório do usuário atual, $HOME\Documents\PowerShell\Modules.

Exemplo 6: instalar a versão de pré-lançamento mais recente de um módulo

Este exemplo mostra como instalar a versão mais recente de um módulo quando essa versão for uma versão de pré-lançamento. A instalação de uma versão de pré-lançamento requer o parâmetro AllowPrerelease.

Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease

Usando esse método, você obtém a versão mais recente disponível. Se a versão mais recente não for uma pré-lançamento, você obterá a versão estável mais recente do módulo.

Exemplo 7: Instalar uma versão de pré-lançamento específica de um módulo

Este exemplo mostra como instalar uma versão de pré-lançamento específica de um módulo. O cmdlet Find-Module pode ser usado para localizar versões de pré-lançamento de módulos na Galeria do PowerShell.

As versões de pré-lançamento têm um formato de <version_number>-<prerelease_label>.

Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5

Version        Name             Repository       Description
-------        ----             ----------       -----------
2.2.6          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.5          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.4-beta1    PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.3          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.2          PSReadLine       PSGallery        Great command line editing in the PowerS…

Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease

Use a versão mostrada na Galeria do PowerShell para o valor do parâmetro RequiredVersion.

Parâmetros

-AcceptLicense

Para módulos que exigem uma licença, AcceptLicense aceita automaticamente o contrato de licença durante a instalação. Para obter mais informações, consulte módulos que exigemde aceitação de licença.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AllowClobber

Substitui mensagens de aviso sobre conflitos de instalação sobre comandos existentes em um computador. Substitui os comandos existentes que têm o mesmo nome que os comandos que estão sendo instalados por um módulo. AllowClobber e Force podem ser usados juntos em um comando Install-Module.

O cmdlet de proxy transforma o valor desse parâmetro no parâmetro noClobber do cmdlet Install-PSResource.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AllowPrerelease

Permite que você instale um módulo marcado como uma pré-lançamento.

O cmdlet de proxy mapeia esse parâmetro para o parâmetro Prerelease de Install-PSResource.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita a confirmação antes de executar o cmdlet Install-Module.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem direitos para instalar um módulo para um provedor ou origem de pacote especificado.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Force

O cmdlet de proxy ignora esse parâmetro, pois ele não é compatível com Install-PSResource.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Usado para entrada de pipeline. Um erro será gerado se um valor fornecido diretamente para InputObject. Use o pipeline para passar objetos com o parâmetro InputObject.

Tipo:PSObject[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-MaximumVersion

O cmdlet de proxy usa o valor desse parâmetro para criar uma cadeia de caracteres de pesquisa de versão do NuGet para uso com o parâmetro versão de .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-MinimumVersion

O cmdlet de proxy usa o valor desse parâmetro para criar uma cadeia de caracteres de pesquisa de versão do NuGet para uso com o parâmetro versão de .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica os nomes exatos dos módulos a serem instalados na galeria online. Uma lista separada por vírgulas de nomes de módulo é aceita. O nome do módulo deve corresponder ao nome do módulo no repositório. Use Find-Module para obter uma lista de nomes de módulo.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PassThru

Ao usar o parâmetro PassThru, gera um objeto PSRepositoryItemInfo para o módulo. Essas são as mesmas informações que você obtém do cmdlet Find-Module.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Proxy

O cmdlet de proxy ignora esse parâmetro, pois ele não é compatível com Install-PSResource.

Tipo:Uri
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-ProxyCredential

O cmdlet de proxy ignora esse parâmetro, pois ele não é compatível com Install-PSResource.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Repository

Use o parâmetro Repositório para especificar o nome do repositório do qual baixar e instalar um módulo. Usado quando vários repositórios são registrados. Especifica o nome de um repositório registrado no comando Install-Module. Para registrar um repositório, use Register-PSRepository. Para exibir repositórios registrados, use Get-PSRepository.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-RequiredVersion

O cmdlet de proxy usa o valor desse parâmetro para criar uma cadeia de caracteres de pesquisa de versão do NuGet para uso com o parâmetro versão de .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Scope

Especifica o escopo de instalação do módulo. Os valores aceitáveis para esse parâmetro são allUsers e CurrentUser.

O AllUsers escopo instala módulos em um local acessível a todos os usuários do computador:

$env:ProgramFiles\PowerShell\Modules

O CurrentUser instala módulos em um local acessível apenas ao usuário atual do computador. Por exemplo:

$HOME\Documents\PowerShell\Modules

Quando nenhum Escopo é definido, o padrão é definido com base na versão do PowerShellGet.

  • Nas versões do PowerShellGet 1.x, o padrão é allUsers, o que requer elevação para instalação.
  • Para o PowerShellGet versões 2.0.0 e superiores no PowerShell 6 ou superior:
    • O padrão é CurrentUser, que não exige elevação para instalação.
    • Se você estiver executando em uma sessão com privilégios elevados, o padrão será AllUsers.
Tipo:String
Valores aceitos:CurrentUser, AllUsers
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SkipPublisherCheck

O cmdlet de proxy transforma esse parâmetro em AuthenticodeCheck antes de chamar Install-PSResource.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se um comando Install-Module fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSRepositoryItemInfo

cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para .

String[]

PSObject[]

String

PSCredential

Uri

Saídas

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Ao usar o parâmetro PassThru, gera um objeto PSRepositoryItemInfo para o módulo. Essas são as mesmas informações que você obtém do cmdlet Find-Module.

Observações

O PowerShell inclui os seguintes aliases para Install-Module:

  • Todas as plataformas:
    • inmo

Install-Module é executado no PowerShell 5.0 ou versões posteriores, no Windows 7 ou Windows 2008 R2 e versões posteriores do Windows.

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.SecurityProtocolType]::Tls12

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

Como prática recomendada de segurança, avalie o código de um módulo antes de executar quaisquer cmdlets ou funções pela primeira vez. Para impedir a execução de módulos que contêm código mal-intencionado, os módulos instalados não são importados automaticamente após a instalação.

Se o nome do módulo especificado pelo parâmetro Name não existir no repositório, Install-Module retornará um erro.

Para instalar vários módulos, use o parâmetro Name e especifique uma matriz separada por vírgulas de nomes de módulo. Se você especificar vários nomes de módulo, não poderá usar MinimumVersion, MaximumVersionou RequiredVersion. cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para . O pipeline é outra maneira de especificar vários módulos a serem instalados em um único comando.

Por padrão, os módulos para o escopo de allUsers são instalados em $env:ProgramFiles\PowerShell\Modules. O padrão evita confusão ao instalar recursos de DSC (Configuração de Estado Desejado) do PowerShell.

Uma instalação de módulo falhará e não poderá ser importada se não tiver um .psm1, .psd1ou .dll do mesmo nome dentro da pasta. Use o parâmetro Force para instalar o módulo.

Se a versão de um módulo existente corresponder ao nome especificado pelo parâmetro Name e o parâmetro MinimumVersion ou RequiredVersion não forem usados, Install-Module continua silenciosamente, mas não instala o módulo.

Se a versão de um módulo existente for maior que o valor do parâmetro MinimumVersion ou igual ao valor do parâmetro RequiredVersion, continua silenciosamente, mas não instala o módulo.

Se o módulo existente não corresponder aos valores especificados pelos parâmetros MinimumVersion ou RequiredVersion, ocorrerá um erro no comando Install-Module. Por exemplo, se a versão do módulo instalado existente for inferior ao valor MinimumVersion ou não for igual ao valor RequiredVersion.

Install-Module também instala todos os módulos dependentes especificados conforme exigido pelo editor do módulo. O editor lista os módulos necessários e suas versões no manifesto do módulo.