Install-Module
Descarga uno o varios módulos de un repositorio e los instala en el equipo local.
Sintaxis
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
El cmdlet Install-Module
obtiene uno o varios módulos que cumplen los criterios especificados de un repositorio en línea. El cmdlet comprueba que los resultados de búsqueda son módulos válidos y copia las carpetas de módulo en la ubicación de instalación. Los módulos instalados no se importan automáticamente después de la instalación.
Puede filtrar qué módulo se instala en función de las versiones mínimas, máximas y exactas de los módulos especificados.
Este es un cmdlet de proxy para el cmdlet Get-InstalledPSResource
en el Microsoft.PowerShell.PSResourceGet. Para obtener más información, vea Install-PSResource.
Ejemplos
Ejemplo 1: Buscar e instalar un módulo
En este ejemplo se busca un módulo en el repositorio y se instala el módulo.
Find-Module -Name PowerShellGet | Install-Module
El Install-Module
.
Install-Module
instala el módulo para todos los usuarios de $env:ProgramFiles\PowerShell\Modules
.
Ejemplo 2: Instalación de un módulo por nombre
En este ejemplo, se instala la versión más reciente del módulo PowerShellGet.
Install-Module -Name PowerShellGet
El
Ejemplo 3: Instalación de un módulo con su versión mínima
En este ejemplo, se instala la versión mínima del módulo
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
El
Ejemplo 4: Instalación de una versión específica de un módulo
En este ejemplo, se instala una versión específica del módulo
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
El
Ejemplo 5: Instalar un módulo solo para el usuario actual
En este ejemplo se descarga e instala la versión más reciente de un módulo, solo para el usuario actual.
Install-Module -Name PowerShellGet -Scope CurrentUser
El Install-Module
descarga e instala la versión más reciente de PowerShellGet en el directorio del usuario actual, $HOME\Documents\PowerShell\Modules
.
Ejemplo 6: Instalación de la versión preliminar más reciente de un módulo
En este ejemplo se muestra cómo instalar la versión más reciente de un módulo cuando esa versión es una versión preliminar. La instalación de una versión preliminar requiere el parámetro AllowPrerelease.
Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease
Con este método se obtiene la versión más reciente disponible. Si la versión más reciente no es una versión preliminar, obtendrá la versión estable más reciente del módulo.
Ejemplo 7: Instalación de una versión preliminar específica de un módulo
En este ejemplo se muestra cómo instalar una versión preliminar específica de un módulo. El cmdlet Find-Module
se puede usar para buscar versiones preliminares de módulos en la Galería de PowerShell.
Las versiones preliminares tienen un 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 la versión que se muestra en la Galería de PowerShell para el valor del parámetro RequiredVersion.
Parámetros
-AcceptLicense
Para los módulos que requieren una licencia, AcceptLicense acepta automáticamente el contrato de licencia durante la instalación. Para obtener más información, consulte Módulos que requieren aceptación de licencia.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AllowClobber
Invalida los mensajes de advertencia sobre los conflictos de instalación sobre los comandos existentes en un equipo.
Sobrescribe los comandos existentes que tienen el mismo nombre que los comandos que instala un módulo.
AllowClobber y Force se pueden usar conjuntamente en un comando Install-Module
.
El cmdlet proxy transforma el valor de este parámetro en el parámetro NoClobber del cmdlet Install-PSResource
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AllowPrerelease
Permite instalar un módulo marcado como versión preliminar.
El cmdlet de proxy asigna este parámetro al parámetro versión preliminar de Install-PSResource
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet Install-Module
.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Credential
Especifica una cuenta de usuario que tiene derechos para instalar un módulo para un proveedor de paquetes o un origen especificados.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Force
El cmdlet de proxy omite este parámetro, ya que no es compatible con Install-PSResource
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Se usa para la entrada de canalización. Se produce un error si un valor proporcionado directamente a InputObject. Use la canalización para pasar objetos con el parámetro InputObject.
Tipo: | PSObject[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-MaximumVersion
El cmdlet de proxy usa el valor de este parámetro para crear una cadena de búsqueda de versión de NuGet para su uso con el parámetro Version de Install-PSResource
.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-MinimumVersion
El cmdlet de proxy usa el valor de este parámetro para crear una cadena de búsqueda de versión de NuGet para su uso con el parámetro Version de Install-PSResource
.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica los nombres exactos de los módulos que se van a instalar desde la galería en línea. Se acepta una lista separada por comas de nombres de módulo. El nombre del módulo debe coincidir con el nombre del módulo en el repositorio. Use Find-Module
para obtener una lista de nombres de módulo.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PassThru
Al usar el parámetro PassThru, Install-Module
genera un objeto PSRepositoryItemInfo para el módulo. Esta es la misma información que obtiene del cmdlet Find-Module
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Proxy
El cmdlet de proxy omite este parámetro, ya que no es compatible con Install-PSResource
.
Tipo: | Uri |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ProxyCredential
El cmdlet de proxy omite este parámetro, ya que no es compatible con Install-PSResource
.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Repository
Use el parámetro Repository de Install-Module
. Para registrar un repositorio, use Register-PSRepository
.
Para mostrar repositorios registrados, use Get-PSRepository
.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-RequiredVersion
El cmdlet de proxy usa el valor de este parámetro para crear una cadena de búsqueda de versión de NuGet para su uso con el parámetro Version de Install-PSResource
.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Scope
Especifica el ámbito de instalación del módulo. Los valores aceptables para este parámetro son AllUsers y CurrentUser.
El ámbito de AllUsers instala módulos en una ubicación accesible para todos los usuarios del equipo:
$env:ProgramFiles\PowerShell\Modules
El CurrentUser instala módulos en una ubicación accesible solo para el usuario actual del equipo. Por ejemplo:
$HOME\Documents\PowerShell\Modules
Cuando no se define ningún ámbito, el valor predeterminado se establece en función de la versión de PowerShellGet.
- En las versiones de PowerShellGet 1.x, el valor predeterminado es AllUsers, que requiere elevación para la instalación.
- Para PowerShellGet versiones 2.0.0 y posteriores en PowerShell 6 o superior:
- El valor predeterminado es CurrentUser, que no requiere elevación para la instalación.
- Si se ejecuta en una sesión con privilegios elevados, el valor predeterminado es AllUsers.
Tipo: | String |
Valores aceptados: | CurrentUser, AllUsers |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SkipPublisherCheck
El cmdlet de proxy transforma este parámetro en AuthenticodeCheck antes de llamar a Install-PSResource
.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara un comando Install-Module
. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
PSRepositoryItemInfo
Find-Module
crea objetos PSRepositoryItemInfo que se pueden enviar por la canalización a Install-Module
.
String[]
PSObject[]
Salidas
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
Al usar el parámetro PassThru, Install-Module
genera un objeto PSRepositoryItemInfo para el módulo. Esta es la misma información que obtiene del cmdlet Find-Module
.
Notas
PowerShell incluye los siguientes alias para Install-Module
:
- Todas las plataformas:
inmo
Install-Module
se ejecuta en PowerShell 5.0 o versiones posteriores, en Windows 7 o Windows 2008 R2 y versiones posteriores de Windows.
Importante
A partir de abril de 2020, la Galería de PowerShell ya no admite las versiones 1.0 y 1.1 de seguridad de la capa de transporte (TLS). Si no usa TLS 1.2 o superior, recibirá un error al intentar acceder a la Galería de PowerShell. Use el comando siguiente para asegurarse de que usa TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Para obtener más información, consulte el anuncio en el blog de PowerShell.
Como procedimiento recomendado de seguridad, evalúe el código de un módulo antes de ejecutar los cmdlets o funciones por primera vez. Para evitar la ejecución de módulos que contienen código malintencionado, los módulos instalados no se importan automáticamente después de la instalación.
Si el nombre del módulo especificado por el parámetro Name no existe en el repositorio, Install-Module
devuelve un error.
Para instalar varios módulos, use el parámetro Name y especifique una matriz separada por comas de nombres de módulo. Si especifica varios nombres de módulo, no puede usar MinimumVersion, MaximumVersiono RequiredVersion.
Find-Module
crea objetos PSRepositoryItemInfo que se pueden enviar por la canalización a Install-Module
. La canalización es otra manera de especificar varios módulos que se van a instalar en un solo comando.
De forma predeterminada, los módulos para el ámbito de AllUsers se instalan en $env:ProgramFiles\PowerShell\Modules
. El valor predeterminado impide confusiones al instalar recursos de Desired State Configuration (DSC) de PowerShell.
Se produce un error en la instalación de un módulo y no se puede importar si no tiene una .psm1
, .psd1
o .dll
del mismo nombre dentro de la carpeta. Use el parámetro Force para instalar el módulo.
Si la versión de un módulo existente coincide con el nombre especificado por el parámetro Name de
Si la versión de un módulo existente es mayor que el valor del parámetro MinimumVersion, o igual que el valor del parámetro RequiredVersion, Install-Module
continúa silenciosamente, pero no instala el módulo.
Si el módulo existente no coincide con los valores especificados por el MinimumVersion o parámetros RequiredVersion, se produce un error en el comando Install-Module
. Por ejemplo, si la versión del módulo instalado existente es inferior al valor MinimumVersion o no es igual al valor de RequiredVersion.
Install-Module
también instala los módulos dependientes especificados según sea necesario para el publicador del módulo.
El publicador enumera los módulos necesarios y sus versiones en el manifiesto del módulo.