Find-PackageProvider

Returns a list of Package Management package providers available for installation.

Syntax

Find-PackageProvider
    [[-Name] <String[]>]
    [-AllVersions]
    [-Source <String[]>]
    [-IncludeDependencies]
    [-Credential <PSCredential>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-RequiredVersion <String>]
    [-MinimumVersion <String>]
    [-MaximumVersion <String>]
    [-Force]
    [-ForceBootstrap]
    [<CommonParameters>]

Description

The Find-PackageProvider cmdlet finds matching PackageManagement providers that are available in package sources registered with PowerShellGet. These are package providers available for installation with the Install-PackageProvider cmdlet. By default, this includes modules available in the PowerShell Gallery with the PackageManagement and Provider tags.

Find-PackageProvider also finds matching Package Management providers that are available in the Package Management Azure Blob store. Use the bootstrapper provider to find and install them.

Examples

Example 1: Find all available package providers

Find-PackageProvider

This command gets a list of all package providers that are available on the repositories supported by Package Management. By default, those package providers are available on the PowerShell Gallery and by using the Package Management bootstrapping application.

Example 2: Find all versions of a provider

Find-PackageProvider -Name "Nuget" -AllVersions

This command finds all versions of the package provider named Nuget.

Example 3: Find a provider from a specified source

Find-PackageProvider -Name "Gistprovider" -Source "PSGallery"

This command finds a package provider available by using a specified package source.

Parameters

-AllVersions

Indicates that this cmdlet returns all available versions of the package provider. By default, Find-PackageProvider only returns the newest available version.

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

-Credential

Specifies a user account that has permission to search for package providers.

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

-Force

Forces the command to run without asking for user confirmation. Currently, this is equivalent to the ForceBootstrap parameter.

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

-ForceBootstrap

Indicates that this cmdlet forces Package Management to automatically install the package provider.

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

-IncludeDependencies

Indicates that this cmdlet includes dependencies.

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

-MaximumVersion

Specifies the maximum allowed version of the package provider that you want to find. If you do not add this parameter, Find-PackageProvider finds the highest available version of the provider.

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

-MinimumVersion

Specifies the minimum allowed version of the package provider that you want to find. If you do not add this parameter, Find-PackageProvider finds the highest available version of the package that also satisfies any maximum specified version specified by the MaximumVersion parameter.

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

-Name

Specifies one or more package provider module names, or provider names with wildcard characters. Separate multiple package names with commas.

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

-Proxy

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

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Specifies the exact allowed version of the package provider that you want to find. If you do not add this parameter, Find-PackageProvider finds the highest available version of the provider that also satisfies any maximum version specified by the MaximumVersion parameter.

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

-Source

Specifies one or more package sources. You can get a list of available package sources by using the Get-PackageSource cmdlet.

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

Outputs

Microsoft.PackageManagement.Packaging.SoftwareIdentity

This cmdlet returns a SoftwareIdentity object. A SoftwareIdentity object can be piped into Install-PackageProvider to install the results of Find-PackageProvider.

Notes

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 in the PowerShell blog.