Find-Command

Finds PowerShell commands in modules.

Syntax

Find-Command
    [[-Name] <String[]>]
    [-ModuleName <String>]
    [-MinimumVersion <String>]
    [-MaximumVersion <String>]
    [-RequiredVersion <String>]
    [-AllVersions]
    [-AllowPrerelease]
    [-Tag <String[]>]
    [-Filter <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-Repository <String[]>]
    [<CommonParameters>]

Description

The Find-Command cmdlet finds PowerShell commands such as cmdlets, aliases, functions, and workflows. Find-Command searches modules in registered repositories.

This is a proxy cmdlet for the Find-PSResource cmdlet in the Microsoft.PowerShell.PSResourceGet. For more information, see Find-PSResource.

Examples

Example 1: Find a command by name

Find-Command can use the name of a command to locate the module in a repository. It's possible that a command name exists in multiple ModuleNames.

Find-Command -Repository PSGallery -Name Get-TargetResource

Name                  Version    ModuleName                      Repository
----                  -------    ----------                      ----------
Get-TargetResource    3.1.0.0    xPowerShellExecutionPolicy      PSGallery
Get-TargetResource    1.0.0      xInternetExplorerHomePage       PSGallery
Get-TargetResource    1.2.0.0    SystemLocaleDsc                 PSGallery

Find-Command uses the Repository parameter to search the PSGallery. The Name parameter specifies the command Get-TargetResource.

Example 2: Find commands by name and install the module

Find-Command can locate the command and module, then send the object to Install-Module. If a command is included in multiple modules, use the Find-Command cmdlets ModuleName parameter. Otherwise, modules might be installed that you didn't want to install.

Find-Command -Name Get-TargetResource -Repository PSGallery -ModuleName SystemLocaleDsc |
    Install-Module
Get-InstalledModule

Version   Name               Repository   Description
-------   ----               ----------   -----------
1.2.0.0   SystemLocaleDsc    PSGallery    This DSC Resource allows configuration of the Windows...

Find-Command uses the Name parameter to specify the command Get-TargetResource. The Repository parameter searches the PSGallery. The ModuleName parameter specifies the module you want to install, SystemLocaleDsc. The object is sent down the pipeline to Install-Module and the module is installed. After the installation finishes, you can use Get-InstalledModule to display the results.

Example 3: Find a command and save its module

Find-Command -Name Invoke-ScriptAnalyzer -Repository PSGallery |
    Save-Module -Path C:\Test\Modules -Verbose

VERBOSE: Downloading 'https://www.powershellgallery.com/api/v2/package/PSScriptAnalyzer/1.18.0'.
VERBOSE: Completed downloading 'https://www.powershellgallery.com/api/v2/package/PSScriptAnalyzer/1.18.0'.
VERBOSE: Completed downloading 'PSScriptAnalyzer'.
VERBOSE: Module 'PSScriptAnalyzer' was saved successfully to path 'C:\Test\Modules\PSScriptAnalyzer\1.18.0'.

Find-Command uses the Name and Repository parameters to search for the command Invoke-ScriptAnalyzer in the PSGallery repository. The object is sent down the pipeline to Save-Module. The Path parameter determines the location to save the module. Verbose is an optional parameter, but displays status output in the PowerShell console. The verbose output is beneficial for troubleshooting.

Parameters

-AllowPrerelease

Includes modules marked as a prerelease in the results.

The proxy cmdlet maps this parameter to the Prerelease parameter of Find-PSResource.

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

-AllVersions

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-Filter

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-MaximumVersion

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-MinimumVersion

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-ModuleName

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-Name

Specifies the command name to search for in a repository. Use commas to separate an array of command names.

The proxy cmdlet maps this parameter to the CommandName parameter of Find-PSResource.

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

-Proxy

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-ProxyCredential

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-Repository

Specifies the repository to search for commands. Use commas to separate an array of repository names. The default is all repositories.

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

-RequiredVersion

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

-Tag

The proxy cmdlet ignores this parameter since it's not supported by the CommandNameParameterSet of Find-PSResource.

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

Outputs

PSGetCommandInfo

Find-Command outputs a PSGetCommandInfo object.

Notes

The PowerShell Gallery no longer supports Transport Layer Security (TLS) versions 1.0 and 1.1. You must use TLS 1.2 or higher. Use the following command to ensure you are using TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12