Partilhar via


Install-Module

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

Sintaxe

NameParameterSet (Predefinição)

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>]

InputObject

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 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.

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

Os parâmetros que usam números de versão do módulo esperam cadeias de caracteres formatadas como números de versão.

  • Os números de versão padrão têm um formato em x.y.z que x, y e z são números
  • As versões de pré-lançamento têm um formato em que a x.y.z-<prerelease_label> cadeia de <prerelease_label> caracteres é arbitrária atribuída a essa versão.

Esses exemplos usam a 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 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 pelo nome

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

Install-Module -Name PowerShellGet

O Install-Module 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 instalado. 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 usa o parâmetro Name 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 está instalada.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

O Install-Module usa o parâmetro Name 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 usa o parâmetro Name para especificar o módulo PowerShellGet . Install-Module baixa e instala a versão mais recente do PowerShellEntre 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 é 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 este método, você obtém a versão mais recente disponível. Se a versão mais recente não for um 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 Find-Module cmdlet 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 obter o valor do parâmetro RequiredVersion .

Parâmetros

-AcceptLicense

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-AllowClobber

Substitui mensagens de aviso sobre conflitos de instalação sobre comandos existentes em um computador. Substitui 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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-AllowPrerelease

Permite instalar um módulo marcado como pré-lançamento.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Confirm

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

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

Propriedades dos parâmetros

Tipo:PSCredential
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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 permite a instalação de várias versões. 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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-InputObject

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

Propriedades dos parâmetros

Tipo:

PSObject[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

InputObject
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Name

Especifica os nomes exatos dos módulos a serem instalados a partir da galeria online. Uma lista separada por vírgulas de nomes de módulos é 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ódulos.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-PassThru

Ao usar o parâmetro PassThru , Install-Module gera uma saída para um objeto PSRepositoryItemInfo para o módulo.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Proxy

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

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-ProxyCredential

Especifica uma conta de usuário que tem permissão para usar o servidor proxy especificado pelo parâmetro Proxy.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Repository

Use o parâmetro Repository para especificar o nome do repositório a partir 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 Install-Module comando. Para registrar um repositório, use Register-PSRepository. Para exibir repositórios registrados, use Get-PSRepository.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

NameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Scope

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

O escopo 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 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 PowerShellGet.

  • Nas versões do PowerShellGet 1.x, o padrão é AllUsers, que requer elevação para instalação.
  • Para PowerShellGet versões 2.0.0 e superiores no PowerShell 6 ou superior:
    • O padrão é CurrentUser, que não requer elevação para instalação.
    • Se você estiver executando em uma sessão elevada, o padrão é AllUsers.

Propriedades dos parâmetros

Tipo:String
Default value:None
Valores aceites:CurrentUser, AllUsers
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-SkipPublisherCheck

Permite instalar uma versão mais recente de um módulo que já existe no 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 editor confiável.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

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 uma saída para um objeto PSRepositoryItemInfo para o módulo. Essas são as mesmas informações que você obtém do Find-Module cmdlet.

Notas

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 suporta mais as versões 1.0 e 1.1 do Transport Layer Security (TLS). 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 de anúncio de 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 contenham 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ódulos. 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 para instalar em um único comando.

Por padrão, os módulos para o escopo de AllUsers são instalados no $env:ProgramFiles\PowerShell\Modules. O padrão evita confusão quando você instala recursos de Configuração de Estado Desejado (DSC) do PowerShell.

Uma instalação de módulo falha e não pode 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 os parâmetros MinimumVersion ou RequiredVersion não forem usados, continuará silenciosamente, Install-Module 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á Install-Module um erro no comando. Por exemplo, se a versão do módulo instalado existente for inferior ao valor MinimumVersion ou não igual ao valor RequiredVersion .

Install-Module também instala quaisquer 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.