Install-Package
SYNOPSIS
Installs one or more software packages.
SYNTAX
PackageBySearch (Default)
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>]
PackageByInputObject
Install-Package [-InputObject] <SoftwareIdentity[]> [-Credential <PSCredential>] [-Proxy <Uri>]
[-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm]
[<CommonParameters>]
NuGet:PackageBySearch
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>]
NuGet:PackageByInputObject
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>]
PowerShellGet:PackageBySearch
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>]
PowerShellGet:PackageByInputObject
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
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
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
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: System.Management.Automation.SwitchParameter
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-AllowPrereleaseVersions
Allows the installation of packages marked as prerelease.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject, PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Command
Specifies one or more commands that `Install-Package` searches.
Type: System.String[]
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ConfigFile
Specifies a path that contains a configuration file.
Type: System.String
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: None
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: System.String
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
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: System.Management.Automation.PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Destination
Specifies a path to an input object.
Type: System.String
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
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: System.String[]
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Filter
Specifies terms to search for within the Name and Description properties.
Type: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.String[]
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-ForceBootstrap
Forces PackageManagement to automatically install the package provider for the specified package.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Headers
Specifies the package headers.
Type: System.String[]
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
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: System.String[]
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Accepted values: Cmdlet, DscResource, Function, RoleCapability, Workflow
Required: False
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: Microsoft.PackageManagement.Packaging.SoftwareIdentity[]
Parameter Sets: PackageByInputObject
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-InstallUpdate
Indicates that `Install-Package` installs updates.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
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: System.String
Parameter Sets: PackageBySearch
Aliases:
Required: False
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: System.String
Parameter Sets: PackageBySearch
Aliases:
Required: False
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: System.String[]
Parameter Sets: PackageBySearch
Aliases:
Required: True
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: System.Management.Automation.SwitchParameter
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-PackageManagementProvider
Specifies the name of the PackageManagement provider.
Type: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.String[]
Parameter Sets: PackageBySearch
Aliases: Provider
Accepted values: Bootstrap, NuGet, PowerShellGet
Required: False
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: System.Uri
Parameter Sets: (All)
Aliases:
Required: False
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: System.Management.Automation.PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-PublishLocation
Specifies the path to a package's published location.
Type: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.String
Parameter Sets: PackageBySearch
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-RoleCapability
Specifies an array of role capabilities.
Type: System.String[]
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.String
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject, PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Accepted values: CurrentUser, AllUsers
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ScriptPublishLocation
Specifies the path to a script's published location.
Type: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ScriptSourceLocation
Specifies the script source location.
Type: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SkipDependencies
Skips the installation of software dependencies.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-SkipValidate
Switch that skips validating the credentials of a package.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: NuGet:PackageBySearch, NuGet:PackageByInputObject
Aliases:
Required: False
Position: Named
Default value: False
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: System.String[]
Parameter Sets: PackageBySearch
Aliases:
Required: False
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: System.String[]
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Required: False
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: System.String
Parameter Sets: PowerShellGet:PackageBySearch, PowerShellGet:PackageByInputObject
Aliases:
Accepted values: Module, Script, All
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
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: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
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`.
> [!IMPORTANT] > As of April 2020, the PowerShell Gallery no longer supports Transport Layer Security (TLS) > versions 1.0 and 1.1. If you are not using TLS 1.2 or higher, you will receive an error when > trying to access the PowerShell Gallery. Use the following command to ensure you are using TLS > 1.2: > > `[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12` > > For more information, see the > announcement (https://devblogs.microsoft.com/powershell/powershell-gallery-tls-support/)in the > PowerShell blog.