Install-Module

Transfere um ou mais módulos a partir de um repositório e instala-os 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 cumprem os critérios especificados a partir 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 a localização de instalação. Os módulos instalados não são importados automaticamente após a instalação. Pode filtrar o módulo instalado com base nas versões mínimas, máximas e exatas dos módulos especificados.

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

Exemplos

Exemplo 1: Localizar e instalar um módulo

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

Find-Module -Name PowerShellGet | Install-Module

O Find-Module utiliza o parâmetro Nome para especificar o módulo PowerShellGet . Por predefinição, a versão mais recente do módulo é transferida do repositório. O objeto é enviado pelo pipeline para o Install-Module cmdlet. Install-Module instala o módulo para todos os utilizadores no $env:ProgramFiles\PowerShell\Modules.

Exemplo 2: Instalar um módulo por nome

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

Install-Module -Name PowerShellGet

O Install-Module utiliza o parâmetro Nome para especificar o módulo PowerShellGet . Por predefinição, a versão mais recente do módulo é transferida do repositório e instalada.

Exemplo 3: instalar um módulo com a versão mínima

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

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

O Install-Module utiliza o parâmetro Nome para especificar o módulo PowerShellGet . O parâmetro MinimumVersion especifica que a versão 2.0.1 é transferida do repositório e instalada. Uma vez que a versão 2.0.4 está disponível, essa versão é transferida e instalada para todos os utilizadores.

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

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

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

O Install-Module utiliza o parâmetro Nome para especificar o módulo PowerShellGet . O parâmetro RequiredVersion especifica que a versão 2.0.0 é transferida e instalada para todos os utilizadores.

Exemplo 5: Instalar um módulo apenas para o utilizador atual

Este exemplo transfere e instala a versão mais recente de um módulo, apenas para o utilizador atual.

Install-Module -Name PowerShellGet -Scope CurrentUser

O Install-Module utiliza o parâmetro Nome para especificar o módulo PowerShellGet . Install-Module transfere e instala a versão mais recente do PowerShellGet para o diretório do utilizador 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

Com este método, obtém a versão mais recente disponível. Se a versão mais recente não for um pré-lançamento, 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 utilizado para encontrar versões de pré-lançamento de módulos no 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

Utilize a versão apresentada no Galeria do PowerShell para o valor do parâmetro RequiredVersion.

Parâmetros

-AcceptLicense

Para módulos que requerem uma licença, a AcceptLicense aceita automaticamente o contrato de licença durante a instalação. Para obter mais informações, veja Módulos Que Requerem Aceitação de 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 num computador. Substitui comandos existentes que têm o mesmo nome que os comandos que estão a ser instalados por um módulo. AllowClobber e Force podem ser utilizados em conjunto num Install-Module comando.

O cmdlet proxy transforma o valor deste parâmetro no parâmetro NoClobber do Install-PSResource cmdlet.

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

-AllowPrerelease

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

O cmdlet proxy mapeia este parâmetro para o parâmetro Pré-lançamento de Install-PSResource.

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

-Confirm

Pede-lhe 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 utilizador que tem direitos para instalar um módulo para um fornecedor ou origem de pacotes especificado.

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

-Force

O cmdlet proxy ignora este parâmetro, uma vez que não é suportado pelo Install-PSResource.

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

-InputObject

Utilizado para entrada de pipeline. É emitido um erro se for fornecido um valor diretamente ao InputObject. Utilize o pipeline para transmitir objetos com o parâmetro InputObject .

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

-MaximumVersion

O cmdlet proxy utiliza o valor deste parâmetro para criar uma cadeia de pesquisa de versão NuGet para utilização com o parâmetro Versão de Install-PSResource.

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

-MinimumVersion

O cmdlet proxy utiliza o valor deste parâmetro para criar uma cadeia de pesquisa de versão NuGet para utilização com o parâmetro Versão de Install-PSResource.

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 instalar a partir da galeria online. É aceite uma lista separada por vírgulas de nomes de módulos. O nome do módulo tem de corresponder ao nome do módulo no repositório. Utilize Find-Module para obter uma lista de nomes de módulos.

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

-PassThru

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

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

-Proxy

O cmdlet proxy ignora este parâmetro, uma vez que não é suportado pelo Install-PSResource.

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

-ProxyCredential

O cmdlet proxy ignora este parâmetro, uma vez que não é suportado pelo Install-PSResource.

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

-Repository

Utilize o parâmetro Repositório para especificar o nome do repositório a partir do qual transferir e instalar um módulo. Utilizado quando são registados vários repositórios. Especifica o nome de um repositório registado no Install-Module comando . Para registar um repositório, utilize Register-PSRepository. Para apresentar repositórios registados, utilize Get-PSRepository.

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

-RequiredVersion

O cmdlet proxy utiliza o valor deste parâmetro para criar uma cadeia de pesquisa de versão NuGet para utilização com o parâmetro Versão de Install-PSResource.

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

-Scope

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

O âmbito AllUsers instala módulos numa localização acessível a todos os utilizadores do computador:

$env:ProgramFiles\PowerShell\Modules

O CurrentUser instala módulos numa localização acessível apenas ao utilizador atual do computador. Por exemplo:

$HOME\Documents\PowerShell\Modules

Quando não é definido nenhum Âmbito , a predefinição é definida com base na versão do PowerShellGet.

  • Nas versões do PowerShellGet 1.x, a predefinição é AllUsers, que requer elevação para instalação.
  • Para as versões 2.0.0 e superiores do PowerShellGet no PowerShell 6 ou superior:
    • A predefinição é CurrentUser, que não requer elevação para instalação.
    • Se estiver a executar numa sessão elevada, a predefinição é AllUsers.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

O cmdlet proxy transforma este parâmetro em AthenticodeCheck antes de chamar Install-PSResource.

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 utilizar o parâmetro PassThru , Install-Module produz um objeto PSRepositoryItemInfo para o módulo. Estas são as mesmas informações que 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, 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.SecurityProtocolType]::Tls12

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

Como melhor prática de segurança, avalie o código de um módulo antes de executar os cmdlets ou funções pela primeira vez. Para impedir a execução de módulos que contenham código malicioso, 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 Nome não existir no repositório, Install-Module devolve um erro.

Para instalar vários módulos, utilize o parâmetro Nome e especifique uma matriz separada por vírgulas de nomes de módulos. Se especificar vários nomes de módulos, não poderá utilizar MinimumVersion, MaximumVersion ou RequiredVersion. Find-Module cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para Install-Module. O pipeline é outra forma de especificar vários módulos a instalar num único comando.

Por predefinição, os módulos para o âmbito dos AllUsers são instalados no $env:ProgramFiles\PowerShell\Modules. A predefinição evita confusões quando instala recursos do PowerShell Desired State Configuration (DSC).

Uma instalação do módulo falha e não pode ser importada se não tiver um .psm1, .psd1ou .dll com o mesmo nome na pasta. Utilize o parâmetro Forçar para instalar o módulo.

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

Se a versão de um módulo existente for superior ao valor do parâmetro MinimumVersion ou for igual ao valor do parâmetro RequiredVersion , Install-Module 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 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 .

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