Partilhar via


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.

Se o módulo que está a ser instalado tiver o mesmo nome ou versão ou contiver comandos num módulo existente, serão apresentadas mensagens de aviso. Depois de confirmar que pretende instalar o módulo e substituir os avisos, utilize os -Force parâmetros e -AllowClobber . Dependendo das definições do repositório, poderá ter de responder a um pedido para que a instalação do módulo continue.

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

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

Estes exemplos utilizam o Galeria do PowerShell como o único repositório registado. Get-PSRepository apresenta os repositórios registados. Se tiver vários repositórios registados, utilize o -Repository parâmetro para especificar o nome do repositório.

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.

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.

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

Instala um módulo e substitui mensagens de aviso sobre conflitos de instalação de módulos. Se já existir um módulo com o mesmo nome no computador, a Força permite a instalação de várias versões. Se existir um módulo existente com o mesmo nome e versão, Force substitui essa versão. Force e AllowClobber podem ser utilizados em conjunto num Install-Module comando.

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

-InputObject

Utilizado para entrada de pipeline. É gerado um erro se um valor for fornecido 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

Especifica a versão máxima de um único módulo a instalar. A versão instalada tem de ser menor ou igual a MaximumVersion. Se quiser instalar vários módulos, não pode utilizar MaximumVersion. MaximumVersion e RequiredVersion não podem ser utilizados 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 instalar. A versão instalada tem de ser maior ou igual a MinimumVersion. Se existir uma versão mais recente do módulo disponível, a versão mais recente será instalada. Se quiser instalar vários módulos, não pode utilizar MinimumVersion. MinimumVersion e RequiredVersion não podem ser utilizados 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 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

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

-Proxy

Especifica um servidor proxy para o pedido, em vez de ligar 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 utilizador que tem permissão para utilizar o servidor proxy especificado pelo parâmetro Proxy .

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

Especifica a versão exata de um único módulo a instalar. Se não existir nenhuma correspondência no repositório para a versão especificada, é apresentado um erro. Se quiser instalar vários módulos, não pode utilizar RequiredVersion. RequiredVersion não pode ser utilizado 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 â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

Permite-lhe 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 fabricante fidedigno, mas a nova versão não é assinada digitalmente por um fabricante fidedigno.

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.