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[]
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
, .psd1
ou .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.