Install-Module
Baixa um ou mais módulos de um repositório e os instala no computador local.
Sintaxe
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 cmdlet Install-Module
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.
Este é um cmdlet proxy para o cmdlet Get-InstalledPSResource
no Microsoft.PowerShell.PSResourceGet. Para obter mais informações, consulte Install-PSResource.
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 PowerShellGet 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 cmdlet Find-Module
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
Parâmetros
-AcceptLicense
Para módulos que exigem 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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 comando Install-Module
.
O cmdlet proxy transforma o valor desse parâmetro no parâmetro NoClobber do cmdlet Install-PSResource
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-AllowPrerelease
Permite instalar um módulo marcado como pré-lançamento.
O cmdlet proxy mapeia esse parâmetro para o parâmetro Prerelease de Install-PSResource
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Confirm
Solicita confirmação antes de executar o cmdlet Install-Module
.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Credential
Especifica uma conta de usuário que tem direitos para instalar um módulo para um provedor de pacote especificado ou fonte.
Tipo: | PSCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Force
O cmdlet proxy ignora esse parâmetro, pois ele não é suportado pelo Install-PSResource
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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.
Tipo: | PSObject[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-MaximumVersion
O cmdlet proxy usa o valor desse parâmetro para criar uma cadeia de pesquisa de versão do NuGet para uso com o parâmetro Version de Install-PSResource
.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-MinimumVersion
O cmdlet proxy usa o valor desse parâmetro para criar uma cadeia de pesquisa de versão do NuGet para uso com o parâmetro Version de Install-PSResource
.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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.
Tipo: | String[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-PassThru
Ao usar o parâmetro PassThru, Install-Module
gera uma objeto de PSRepositoryItemInfo para o módulo. Essas são as mesmas informações que você obtém do cmdlet Find-Module
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Proxy
O cmdlet proxy ignora esse parâmetro, pois ele não é suportado pelo Install-PSResource
.
Tipo: | Uri |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ProxyCredential
O cmdlet proxy ignora esse parâmetro, pois ele não é suportado pelo Install-PSResource
.
Tipo: | PSCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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 comando Install-Module
. Para registrar um repositório, use Register-PSRepository
.
Para exibir repositórios registrados, use Get-PSRepository
.
Tipo: | String[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-RequiredVersion
O cmdlet proxy usa o valor desse parâmetro para criar uma cadeia de pesquisa de versão do NuGet para uso com o parâmetro Version de Install-PSResource
.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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
$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 nenhuma de escopo
- 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 será AllUsers.
Tipo: | String |
Valores aceites: | CurrentUser, AllUsers |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-SkipPublisherCheck
O cmdlet proxy transforma esse parâmetro em AuthenticodeCheck antes de chamar Install-PSResource
.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se um comando Install-Module
fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
PSRepositoryItemInfo
Find-Module
cria PSRepositoryItemInfo objetos que podem ser enviados pelo pipeline para Install-Module
.
String[]
PSObject[]
Saídas
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
Ao usar o parâmetro PassThru, Install-Module
gera uma objeto de PSRepositoryItemInfo para o módulo. Essas são as mesmas informações que você obtém do cmdlet Find-Module
.
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
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, MaximumVersionou RequiredVersion.
Find-Module
cria PSRepositoryItemInfo objetos 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 em $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
, .psd1
ou .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 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
Se o módulo existente não corresponder aos valores especificados pelos parâmetros MinimumVersion ou RequiredVersion, ocorrerá um erro no comando Install-Module
. Por exemplo, se a versão do módulo instalado existente for inferior ao valor
Install-Module
também instala todos os 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.