Install-Package

Installs one or more software packages.

Syntax

Install-Package
       [-Name] <String[]>
       [-RequiredVersion <String>]
       [-MinimumVersion <String>][-MaximumVersion <String>]
       [-Source <String[]>]
       [-Credential <PSCredential>]
       [-Proxy <Uri>][-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm][-ProviderName <String[]>]
       [<CommonParameters>]
Install-Package
       [-InputObject] <SoftwareIdentity[]>
       [-Credential <PSCredential>]
       [-Proxy <Uri>][-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm][<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>][-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-ConfigFile <String>][-SkipValidate]
       [-Headers <String[]>]
       [-FilterOnTag <String[]>]
       [-Contains <String>][-AllowPrereleaseVersions]
       [-Destination <String>]
       [-ExcludeVersion]
       [-Scope <String>][-SkipDependencies]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>][-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-ConfigFile <String>][-SkipValidate]
       [-Headers <String[]>]
       [-FilterOnTag <String[]>]
       [-Contains <String>][-AllowPrereleaseVersions]
       [-Destination <String>]
       [-ExcludeVersion]
       [-Scope <String>][-SkipDependencies]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>][-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-AllowPrereleaseVersions][-Scope <String>]
       [-PackageManagementProvider <String>]
       [-PublishLocation <String>][-ScriptSourceLocation <String>]
       [-ScriptPublishLocation <String>]
       [-Type <String>][-Filter <String>]
       [-Tag <String[]>]
       [-Includes <String[]>]
       [-DscResource <String[]>][-RoleCapability <String[]>]
       [-Command <String[]>]
       [-AcceptLicense]
       [-AllowClobber][-SkipPublisherCheck]
       [-InstallUpdate]
       [-NoPathUpdate]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>][-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-AllowPrereleaseVersions][-Scope <String>]
       [-PackageManagementProvider <String>]
       [-PublishLocation <String>][-ScriptSourceLocation <String>]
       [-ScriptPublishLocation <String>]
       [-Type <String>][-Filter <String>]
       [-Tag <String[]>]
       [-Includes <String[]>]
       [-DscResource <String[]>][-RoleCapability <String[]>]
       [-Command <String[]>]
       [-AcceptLicense]
       [-AllowClobber][-SkipPublisherCheck]
       [-InstallUpdate]
       [-NoPathUpdate]
       [<CommonParameters>]

Description

The Install-Package cmdlet installs one or more software packages on the local computer. If you have multiple software sources, use Get-PackageProvider and Get-PackageSource to display details about your providers.

Examples

Example 1: Install a package by package name

The Install-Package cmdlet installs a software package and its dependencies.

PS> Install-Package -Name NuGet.Core -Source MyNuGet -Credential Contoso\TestUser

Install-Package uses parameters to specify the packages Name and Source. The Credential parameter uses a domain user account with permissions to install packages. The command prompts you for the user account password.

Example 2: Use Find-Package to install a package

In this example, the object returned by Find-Package is sent down the pipeline and installed by Install-Package.

PS> Find-Package -Name NuGet.Core -Source MyNuGet | Install-Package

Find-Package uses the Name and Source parameters to locate a package. The object is sent down the pipeline and Install-Package installs the package on the local computer.

Example 3: Install packages by specifying a range of versions

Install-Package uses the MinimumVersion and MaximumVersion parameters to specify a range of software versions.

PS> Install-Package -Name NuGet.Core -Source MyNuGet -MinimumVersion 2.8.0 -MaximumVersion 2.9.0

Install-Package uses the Name and Source parameters to find a package. The MinimumVersion and MaximumVersion parameters specify a range of software versions. The highest version in the range is installed.

Parameters

-AcceptLicense

AcceptLicense automatically accepts the license agreement during installation.

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

Install-Package installs all available versions of the package. By default, only the newest version is installed.

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

Overrides warning messages about conflicts with existing commands. Overwrites existing commands that have the same name as commands being installed.

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

Allows the installation of packages marked as prerelease.

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

Specifies one or more commands that Install-Package searches.

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

Specifies a path that contains a configuration file.

Type:String
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
-Contains

Install-Package gets objects if the Contains parameter specifies a value that matches any of the object's property values.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Credential

Specifies a user account that has permission to access the computer and run commands. Type a user name, such as User01, Domain01\User01, or enter a PSCredential object, generated by the Get-Credential cmdlet. If you type a user name, you're prompted for a password.

When the Credential parameter isn't specified, Install-Package uses the current user.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Destination

Specifies a path to an input object.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DscResource

Specifies one or more Desired State Configuration (DSC) resources that are searched by Install-Package. Use the Find-DscResource cmdlet to find DSC resources.

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

Switch to exclude the version number in the folder path.

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

Specifies terms to search for within the Name and Description properties.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-FilterOnTag

Specifies a tag that filters results and excludes results that don't contain the specified tag.

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

Forces the command to run without asking for user confirmation. Overrides restrictions that prevent Install-Package from succeeding, with the exception of security.

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

Forces PackageManagement to automatically install the package provider for the specified package.

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

Specifies the package headers.

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

Specifies whether Install-Package should find all package types. The acceptable values for this parameter are as follows:

  • Cmdlet
  • DscResource
  • Function
  • RoleCapability
  • Workflow
Type:String[]
Accepted values:Cmdlet, DscResource, Function, RoleCapability, Workflow
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InputObject

Accepts pipeline input. Specifies a package by using the package's SoftwareIdentity type. Find-Package outputs a SoftwareIdentity object.

Type:SoftwareIdentity[]
Position:0
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-InstallUpdate

Indicates that Install-Package installs updates.

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

Specifies the maximum allowed package version that you want to install. If you don't specify this parameter, Install-Package installs the package's newest version.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-MinimumVersion

Specifies the minimum allowed package version that you want to install. If you don't add this parameter, Install-Package installs the package's newest version that satisfies any version specified by the MaximumVersion parameter.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Name

Specifies one or more package names. Multiple package names must be separated by commas.

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

NoPathUpdate only applies to the Install-Script cmdlet. NoPathUpdate is a dynamic parameter added by the provider and isn't supported by Install-Package.

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

Specifies the name of the PackageManagement provider.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ProviderName

Specifies one or more package provider names to which to scope your package search. You can get package provider names by running the Get-PackageProvider cmdlet.

Type:String[]
Aliases:Provider
Accepted values:Bootstrap, NuGet, PowerShellGet
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 an internet resource.

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

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

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PublishLocation

Specifies the path to a package's published location.

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

Specifies the exact allowed version of the package that you want to install. If you don't add this parameter, Install-Package installs the package's newest version that satisfies any version specified by the MaximumVersion parameter.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RoleCapability

Specifies an array of role capabilities.

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

Specifies the scope for which to install the package. The acceptable values for this parameter are as follows:

  • CurrentUser
  • AllUsers
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ScriptPublishLocation

Specifies the path to a script's published location.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ScriptSourceLocation

Specifies the script source location.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SkipDependencies

Skips the installation of software dependencies.

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

Allows you to get a package version that is newer than your installed version. For example, an installed package that is digitally signed by a trusted publisher but a new version isn't digitally signed.

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

Switch that skips validating the credentials of a package.

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

Specifies one or more package sources. Multiple package source names must be separated by commas. You can get package source names by running the Get-PackageSource cmdlet.

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

Specifies one or more strings to search for in the package metadata.

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

Specifies whether to search for packages with a module, a script, or both. The acceptable values for this parameter are as follows:

  • Module
  • Script
  • All
Type:String
Accepted values:Module, Script, All
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if Install-Package cmdlet is run. The cmdlet is not run.

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

Inputs

`Install-Package` accepts input from the pipeline.

Outputs

SoftwareIdentity[]

Notes

Including a package provider in a command can make dynamic parameters available to a cmdlet. Dynamic parameters are specific to a package provider. The Get-Help cmdlet lists a cmdlet's parameter sets and includes the provider's parameter set. For example, Install-Package has the PowerShellGet parameter set that includes -NoPathUpdate, AllowClobber, and SkipPublisherCheck.