Compartir a través de


Install-Module

Descarga uno o varios módulos de un repositorio e los instala en el equipo local.

Sintaxis

NameParameterSet (valor predeterminado)

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>]

InputObject

Install-Module
    [-InputObject] <PSObject[]>
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-Force]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

El Install-Module cmdlet 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.

Si el módulo que se va a instalar tiene el mismo nombre o versión, o contiene comandos en un módulo existente, se muestran los mensajes de advertencia. Después de confirmar que desea instalar el módulo e invalidar las advertencias, use los -Force parámetros y -AllowClobber . En función de la configuración del repositorio, es posible que tenga que responder a una solicitud de instalación del módulo para continuar.

Los parámetros que toman números de versión del módulo esperan cadenas con formato de números de versión.

  • Los números de versión estándar tienen un formato de x.y.z donde x, y y z son números
  • Las versiones preliminares tienen un formato de x.y.z-<prerelease_label> donde la <prerelease_label> cadena arbitraria está asignada a esa versión.

En estos ejemplos se usa la Galería de PowerShell como único repositorio registrado. Get-PSRepository muestra los repositorios registrados. Si tiene varios repositorios registrados, use el parámetro para especificar el -Repository nombre del repositorio.

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

Find-Module usa el parámetro Name para especificar el módulo PowerShellGet. De forma predeterminada, la versión más reciente del módulo se descarga del repositorio. El objeto se envía a la canalización al cmdlet 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

Install-Module usa el parámetro Name para especificar el módulo PowerShellGet. De forma predeterminada, la versión más reciente del módulo se descarga del repositorio y se instala.

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 PowerShellGet . El parámetro MinimumVersion especifica la versión más baja del módulo que se debe instalar. Si hay disponible una versión más reciente del módulo, esa versión se descarga e instala para todos los usuarios.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Install-Module usa el parámetro Name para especificar el módulo PowerShellGet. El parámetro MinimumVersion especifica que la versión 2.0.1 se descarga del repositorio y se instala. Dado que la versión 2.0.4 está disponible, esa versión se descarga e instala para todos los usuarios.

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 PowerShellGet .

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-Module usa el parámetro Name para especificar el módulo PowerShellGet. El parámetro RequiredVersion especifica que la versión 2.0.0 se descarga e instala para todos los usuarios.

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

Install-Module usa el parámetro Name para especificar el módulo PowerShellGet. 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 Find-Module cmdlet 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, vea Módulos que requieren aceptación de licencia.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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 juntos en un Install-Module comando.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-AllowPrerelease

Permite instalar un módulo marcado como versión preliminar.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet Install-Module.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Credential

Especifica una cuenta de usuario que tiene derechos para instalar un módulo para un proveedor de paquetes o un origen especificados.

Propiedades de parámetro

Tipo:PSCredential
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Force

Instala un módulo e invalida los mensajes de advertencia sobre los conflictos de instalación del módulo. Si ya existe un módulo con el mismo nombre en el equipo, Force permite instalar varias versiones. Si hay un módulo existente con el mismo nombre y versión, Force sobrescribe esa versión. Force y AllowClobber se pueden usar juntos en un Install-Module comando.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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 .

Propiedades de parámetro

Tipo:

PSObject[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

InputObject
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-MaximumVersion

Especifica la versión máxima de un único módulo que se va a instalar. La versión instalada debe ser menor o igual que MaximumVersion. Si desea instalar varios módulos, no puede usar MaximumVersion. MaximumVersion y RequiredVersion no se pueden usar en el mismo Install-Module comando.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-MinimumVersion

Especifica la versión mínima de un único módulo que se va a instalar. La versión instalada debe ser mayor o igual que MinimumVersion. Si hay una versión más reciente del módulo disponible, se instala la versión más reciente. Si desea instalar varios módulos, no puede usar MinimumVersion. MinimumVersion y RequiredVersion no se pueden usar en el mismo Install-Module comando.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes: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.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-PassThru

Al usar el parámetro PassThru , Install-Module genera un objeto PSRepositoryItemInfo para el módulo.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Proxy

Especifica un servidor proxy para la solicitud, en lugar de conectarse directamente al recurso de Internet.

Propiedades de parámetro

Tipo:Uri
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ProxyCredential

Especifica una cuenta de usuario que tiene permiso para usar el servidor proxy especificado por el parámetro Proxy.

Propiedades de parámetro

Tipo:PSCredential
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Repository

Use el parámetro Repository para especificar el nombre del repositorio desde el que descargar e instalar un módulo. Se usa cuando se registran varios repositorios. Especifica el nombre de un repositorio registrado en el Install-Module comando . Para registrar un repositorio, use Register-PSRepository. Para mostrar repositorios registrados, use Get-PSRepository.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-RequiredVersion

Especifica la versión exacta de un único módulo que se va a instalar. Si no hay ninguna coincidencia en el repositorio para la versión especificada, se muestra un error. Si desea instalar varios módulos, no puede usar RequiredVersion. RequiredVersion no se puede usar en el mismo Install-Module comando que MinimumVersion o MaximumVersion.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

NameParameterSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Scope

Especifica el ámbito de instalación del módulo. Los valores aceptables para este parámetro son AllUsers y CurrentUser.

El ámbito AllUsers instala módulos en una ubicación accesible para todos los usuarios del equipo:

$env:ProgramFiles\PowerShell\Modules

CurrentUser instala módulos en una ubicación a la que solo se puede acceder al 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.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Valores aceptados:CurrentUser, AllUsers
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SkipPublisherCheck

Permite instalar una versión más reciente de un módulo que ya existe en el equipo. Por ejemplo, cuando un publicador de confianza firma digitalmente un módulo existente, pero una nueva versión no está firmada digitalmente por un editor de confianza.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si se ejecutase un Install-Module comando. El cmdlet no se ejecuta.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSRepositoryItemInfo

Find-Module crea objetos PSRepositoryItemInfo que se pueden enviar por la canalización a Install-Module.

String

PSObject

String

PSCredential

Uri

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 Find-Module cmdlet .

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, MaximumVersion ni 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 un .psm1, .psd1o .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 y el parámetro MinimumVersion o RequiredVersion no se usan, Install-Module continúa silenciosamente pero no instala el módulo.

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 , continúa silenciosamente, Install-Module pero no instala el módulo.

Si el módulo existente no coincide con los valores especificados por los parámetros MinimumVersion o RequiredVersion , se produce un error en el Install-Module comando . Por ejemplo, si la versión del módulo instalado existente es inferior al valor MinimumVersion o no es igual al valor 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.