Find-Package
Finds software packages in available package sources.
Syntax
Find-Package
[-IncludeDependencies]
[-AllVersions]
[-Source <String[]>]
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[[-Name] <String[]>]
[-RequiredVersion <String>]
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-Force]
[-ForceBootstrap]
[-ProviderName <String[]>]
[-ConfigFile <String>]
[-SkipValidate]
[-Headers <String[]>]
[-FilterOnTag <String[]>]
[-Contains <String>]
[-AllowPrereleaseVersions]
[<CommonParameters>]
Find-Package
[-IncludeDependencies]
[-AllVersions]
[-Source <String[]>]
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[[-Name] <String[]>]
[-RequiredVersion <String>]
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-Force]
[-ForceBootstrap]
[-ProviderName <String[]>]
[-AllowPrereleaseVersions]
[-PackageManagementProvider <String>]
[-PublishLocation <String>]
[-ScriptSourceLocation <String>]
[-ScriptPublishLocation <String>]
[-Type <String>]
[-Filter <String>]
[-Tag <String[]>]
[-Includes <String[]>]
[-DscResource <String[]>]
[-RoleCapability <String[]>]
[-Command <String[]>]
[-AcceptLicense]
[<CommonParameters>]
Description
Find-Package
finds software packages that are available in package sources. Get-PackageProvider
and Get-PackageSource
display details about your providers.
Important
The commands contained in the PackageManagement module are different than the commands provided by the NuGet module in the Package Manager Console of Visual Studio. Each module has commands that are not available in the other. Commands with the same name differ in their specific arguments. For more information, see the PowerShell reference documentation for the Package Manager Console of Visual Studio.
Examples
Example 1: Find all available packages from a package provider
This command finds all available PowerShell module packages in a registered gallery. Use
Get-PackageProvider
to get the provider name.
Find-Package -ProviderName NuGet
Name Version Source Summary
---- ------- ------ -------
NUnit 3.11.0 MyNuGet NUnit is a unit-testing framework for all .NET langua...
Newtonsoft.Json 12.0.1 MyNuGet Json.NET is a popular high-performance JSON framework...
EntityFramework 6.2.0 MyNuGet Entity Framework is Microsoft's recommended data acce...
MySql.Data 8.0.15 MyNuGet MySql.Data.MySqlClient .Net Core Class Library
bootstrap 4.3.1 MyNuGet Bootstrap framework in CSS. Includes fonts and JavaSc...
NuGet.Core 2.14.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Find-Package
uses the Provider parameter to specify the provider NuGet.
Example 2: Find a package from a package source
This command finds the newest version of a package from a specified package source. If a package
source isn't provided, Find-Package
searches each installed package provider and its package
sources. Use Get-PackageSource
to get the source name.
Find-Package -Name NuGet.Core -Source MyNuGet
Name Version Source Summary
---- ------- ------ -------
NuGet.Core 2.14.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Find-Package
uses the Name parameter to specify the package name NuGet.Core. The
Source parameter specifies to search for the package in MyNuGet.
Example 3: Find all versions of a package
This command finds all available package versions from a specified provider.
Find-Package -Name NuGet.Core -Source MyNuGet -AllVersions
Name Version Source Summary
---- ------- ------ -------
NuGet.Core 2.14.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
NuGet.Core 2.14.0-rtm-832 MyNuGet NuGet.Core is the core framework assembly for NuGet...
NuGet.Core 2.13.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
...
NuGet.Core 1.1.229.159 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Nuget.Core 1.0.1120.104 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Find-Package
uses the Name parameter to specify the package NuGet.Core. The
ProviderName parameter specifies to search for the package in MyNuGet. AllVersions
specifies that all available versions are returned.
Example 4: Find a package with a specific name and version
This command finds a specific package version from a specified provider.
Find-Package -Name NuGet.Core -ProviderName NuGet -RequiredVersion 2.9.0
Name Version Source Summary
---- ------- ------ -------
NuGet.Core 2.9.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Find-Package
uses the Name parameter to specify the package name NuGet.Core. The
ProviderName parameter specifies to search for the package in NuGet. RequiredVersion
specifies that only version 2.9.0 is returned.
Example 5: Find packages within a range of versions
This command finds a range of versions for a specified package.
Find-Package -Name NuGet.Core -ProviderName NuGet -MinimumVersion 2.7.0 -MaximumVersion 2.9.0 -AllVersions
Name Version Source Summary
---- ------- ------ -------
NuGet.Core 2.9.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
NuGet.Core 2.8.6 MyNuGet NuGet.Core is the core framework assembly for NuGet...
NuGet.Core 2.8.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
NuGet.Core 2.7.0 MyNuGet NuGet.Core is the core framework assembly for NuGet...
Find-Package
uses the Name parameter to specify the package name NuGet.Core. The
ProviderName parameter specifies to search for the package in NuGet. MinimumVersion
specifies the lowest version 2.7.0. MaximumVersion specifies the highest version 2.9.0.
AllVersions determines the range is returned as specified by the minimum and maximum.
Example 6: Find a package from a file system
This command finds packages with the file extension .nupkg
that are stored on the local computer.
The files are packages downloaded from a gallery such as the NuGet.
PS> Find-Package -Source C:\LocalPkg
Name Version Source Summary
---- ------- ------ -------
Microsoft.Web.Xdt 3.0.0 C:\LocalPkg\ Microsoft Xml Document Transformation (XDT)...
NuGet.Core 2.14.0 C:\LocalPkg\ NuGet.Core is the core framework assembly...
Parameters
-AcceptLicense
Automatically accepts a license agreement if the package requires it.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrereleaseVersions
Includes packages marked as a prerelease in the results.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllVersions
Indicates that Find-Package
returns all available versions of the package. By default,
Find-Package
only returns the newest available version.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
Specifies an array of commands searched by Find-Package
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConfigFile
Specifies a configuration file.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
Find-Package
gets objects if any item in the object's property values are an exact match for the
specified value.
Type: | String |
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 packages.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DscResource
Specifies an array of Desired State Configuration (DSC) resources that this cmdlet searches.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterOnTag
Specifies the tag that filters the results. Results that don't contain the specified tag are excluded.
Type: | String[] |
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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceBootstrap
Indicates that Find-Package
forces PackageManagement to automatically install the package
provider.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Headers
Specifies the headers for the package.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IncludeDependencies
Indicates that this cmdlet includes package dependencies in the results.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Includes
Specifies whether Find-Package
should find all packages within a category.
The accepted values are as follows:
- Cmdlet
- DscResource
- Function
- RoleCapability
- Workflow
Type: | String[] |
Accepted values: | Cmdlet, DscResource, Function, RoleCapability, Workflow |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumVersion
Specifies the maximum package version that you want to find.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumVersion
Specifies the minimum package version that you want to find. If a higher version is available, that version is returned.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies one or more package names, or package names with wildcard characters. Separate multiple package names with commas.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-PackageManagementProvider
Specifies the name of a package management provider.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProviderName
Specifies one or more package provider names. Separate multiple package provider names with commas.
Use Get-PackageProvider
to get a list of available package providers.
Type: | String[] |
Aliases: | Provider |
Accepted values: | Bootstrap, NuGet, PowerShellGet |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Proxy
Specifies a proxy server for the request, rather than a direct connection 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 |
-PublishLocation
Specifies a location for publishing the package.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Specifies an exact package version that you want to find.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RoleCapability
Specifies an array of role capabilities.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptPublishLocation
Specifies a script publishing location for the package.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptSourceLocation
Specifies a script source location.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipValidate
Switch that skips package credential validation.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
Specifies one or more package sources. Use Get-PackageSource
to get a list of available package
sources. A file system directory can be used as a source for download packages.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Tag
Specifies one or more strings to search for in the package metadata.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Type
Specifies whether to search for packages with a module, a script, or either.
Type: | String |
Accepted values: | Module, Script, All |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
You can't pipe objects to this cmdlet.
Outputs
SoftwareIdentify[]
This cmdlet returns a SoftwareIdentity object.
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.
Related Links
PowerShellGet