Install-Module

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

Syntax

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 Install-Module cmdlet 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 da 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.

Se o módulo que está sendo instalado tiver o mesmo nome ou versão ou contiver comandos em um módulo existente, as mensagens de aviso serão exibidas. Depois de confirmar que deseja instalar o módulo e substituir os avisos, use o e -AllowClobber os -Force parâmetros. Dependendo das configurações do repositório, talvez seja necessário responder a um prompt para que a instalação do módulo continue.

Esses exemplos usam o Galeria do PowerShell como o único repositório registrado. Get-PSRepository exibe os repositórios registrados. Se você tiver vários repositórios registrados, use o -Repository parâmetro para especificar o nome do repositório.

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 Find-Module parâmetro Name usa 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 Install-Module cmdlet. Install-Module instala o módulo para todos os usuários em $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 Install-Module parâmetro Name usa 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 é 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 Install-Module parâmetro Name usa para especificar o módulo PowerShellGet . O parâmetro MinimumVersion especifica que a versão 2.0.1 é 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 é instalada.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

O Install-Module parâmetro Name usa para especificar o módulo PowerShellGet . O parâmetro RequiredVersion especifica que a versão 2.0.0 é 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 Install-Module parâmetro Name usa para especificar o módulo PowerShellGet . Install-Modulebaixa e instala a versão mais recente do PowerShellGet no diretório do usuário atual. $home\Documents\PowerShell\Modules

Parâmetros

-AcceptLicense

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Install-Module comando.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Instala um módulo e substitui mensagens de aviso sobre conflitos de instalação do módulo. Se já existir um módulo com o mesmo nome no computador, o Force permitirá que várias versões sejam instaladas. Se houver um módulo existente com o mesmo nome e versão, Force substituirá essa versão. Force e AllowClobber podem ser usados juntos em um Install-Module comando.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaximumVersion

Especifica a versão máxima de um único módulo a ser instalado. A versão instalada deve ser menor ou igual a MaximumVersion. Se você quiser instalar vários módulos, não poderá usar MaximumVersion. MaximumVersion e RequiredVersion não podem ser usados no mesmo Install-Module comando.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinimumVersion

Especifica a versão mínima de um único módulo a ser instalado. A versão instalada deve ser maior ou igual a MinimumVersion. Se houver uma versão mais recente do módulo disponível, a versão mais recente será instalada. Se você quiser instalar vários módulos, não poderá usar MinimumVersion. MinimumVersion e RequiredVersion não podem ser usados no mesmo Install-Module comando.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica os nomes exatos dos módulos a serem instalados por meio da 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.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

Especifica um servidor proxy para a solicitação, em vez de se conectar diretamente ao recurso da Internet.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

Especifica uma conta de usuário com permissão para conectar-se aos computadores especificados pelo parâmetro Proxy.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Especifica a versão exata de um único módulo a ser instalado. Se não houver correspondência no repositório para a versão especificada, um erro será exibido. Se você quiser instalar vários módulos, não poderá usar RequiredVersion. RequiredVersion não pode ser usado no mesmo Install-Module comando que MinimumVersion ou MaximumVersion.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 escopo dos AllUsers 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 para o 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.

  • No PowerShellGet versões 2.0.0 e superiores, o padrão é CurrentUser, que não requer elevação para instalação.
  • Nas versões do PowerShellGet 1.x, o padrão é AllUsers, que exige elevação para instalação.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Permite que você instale uma versão mais recente de um módulo que já existe em seu computador. Por exemplo, quando um módulo existente é assinado digitalmente por um editor confiável, mas a nova versão não é assinada digitalmente por um publicador confiável.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSRepositoryItemInfo

Find-Module cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Saídas

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

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

Observações

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 dará mais suporte às versões 1.0 e 1.1 do protocolo TLS. Se você não estiver usando o TLS 1.2 ou posterior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que esteja usando o TLS 1.2:

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

Para obter mais informações, confira 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 evitar 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, MaximumVersion ou RequiredVersion. Find-Module cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para Install-Module. 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 quando você instala recursos do PowerShell Desired State Configuration (DSC).

Uma instalação de módulo falhará e não poderá ser importada se não tiver um .psm1ou .dll.psd1o 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 continuará silenciosamente, mas não instalará 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 , continuará silenciosamente, Install-Module mas não instalará o módulo.

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

Uma instalação de módulo também instalará todos os módulos dependentes especificados conforme exigido pelo editor do módulo. O publicador especificará os módulos necessários e suas versões no manifesto do módulo.