Install-Module

Downloads one or more modules from an online gallery, and installs them on the local computer.

Syntax

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <Version>]
       [-MaximumVersion <Version>]
       [-RequiredVersion <Version>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

The Install-Module cmdlet gets one or more modules that meet specified criteria from an online gallery, verifies that search results are valid modules, and copies module folders to the installation location.

When no scope is defined, or when the value of the Scope parameter is AllUsers, the module is installed to %systemdrive%:\Program Files\WindowsPowerShell\Modules. When the value of Scope is CurrentUser, the module is installed to $home\Documents\WindowsPowerShell\Modules.

You can filter your results based on minimum and exact versions of specified modules.

Examples

Example 1: Find a module and install it

PS C:\> Find-Module -Name "MyDSC*" | Install-Module

In this example, modules with a name that starts with MyDSC that are found by Find-Module in the online gallery are installed to the default folder, C:\ProgramFiles\WindowsPowerShell\Modules.

Example 2: Install a module by name

PS C:\> Install-Module -Name "MyDscModule"

In this example, the newest version of the module MyDscModule from the online gallery is installed to the default folder, Program Files.

If no module named MyDscModule exists, an error occurs.

Example 3: Install a module using its minimum version

PS C:\> Install-Module -Name "ContosoServer" -MinimumVersion 1.0

In this example, the most current version of the module ContosoServer is installed that matches the specified minimum version. If the most current version of the module is a lower number than 1.0, the command returns errors.

Example 4: Install a specific version of a module

PS C:\> Install-Module -Name "ContosoServer" -RequiredVersion 1.1.3

This example installs version 1.1.3 of the module ContosoServer to the Program Files folder. If version 1.1.3 is not available, an error occurs.

Example 5: Install the current version of a module

PS C:\> Install-Module -Name "ContosoServer" -Scope "CurrentUser"

This example installs the newest version of the module ContosoServer to $home\Documents\WindowsPowerShell\Modules.

Required Parameters

-InputObject

{{Fill InputObject Description}}

Type:PSObject[]
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-Name

Specifies the exact names of modules to install from the online gallery. This parameter supports wildcard characters. If wildcard characters are not specified, only modules that exactly match the specified names are returned. If no matches are found, and you have not used any wildcard characters, the command returns an error. If you use wildcard characters, but do not find matching results, no error is returned.

Type:String[]
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False

Optional Parameters

-AllowClobber

@{Text=}

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

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Credential

Specifies a user account that has rights to install a module for a specified package provider or source.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Force

Forces the installation of modules. If a module of the same name and version already exists on the computer, this parameter overwrites the existing module with one of the same name that was found by the command.

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

Specifies the maximum version of a single module to install. You cannot add this parameter if you are attempting to install multiple modules. The MaximumVersion and the RequiredVersion parameters are mutually exclusive; you cannot use both parameters in the same command.

Type:Version
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-MinimumVersion

Specifies the minimum version of a single module to install. You cannot add this parameter if you are attempting to install multiple modules. The MinimumVersion and the RequiredVersion parameters are mutually exclusive; you cannot use both parameters in the same command.

If you are installing multiple modules in a single command, and a specified minimum version for a module is not available for installation, the Install-Module command silently continues without installing the unavailable module. For example, if you try to install the ContosoServer module with a minimum version of 2.0, but the latest version of the ContosoServer module is 1.5, the Install-Module command does not install the ContosoServer module; it goes to install the next specified module, and Windows PowerShell display errors when the command is finished.

Type:Version
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Proxy

Specifies a proxy server for the request, rather than connecting directly to the Internet resource.

Type:Uri
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ProxyCredential

Specifies a user account that has permission to use the proxy server that is specified by the Proxy parameter.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Repository

Specifies the friendly name of a repository that has been registered by running Register-PSRepository.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RequiredVersion

Specifies the exact version of a single module to install. You cannot add this parameter if you are attempting to install multiple modules. The MinimumVersion and the RequiredVersion parameters are mutually exclusive; you cannot use both parameters in the same command.

Type:Version
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Scope

Specifies the installation scope of the module. The acceptable values for this parameter are: AllUsers and CurrentUser.

The AllUsers scope lets modules be installed in a location that is accessible to all users of the computer, that is, %systemdrive%:\ProgramFiles\WindowsPowerShell\Modules.

The CurrentUser scope lets modules be installed only to $home\Documents\WindowsPowerShell\Modules, so that the module is available only to the current user.

Type:String
Parameter Sets:CurrentUser, AllUsers
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SkipPublisherCheck

@{Text=}

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

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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

Inputs

PSGetItemInfo

Notes