Find-Command
Finds PowerShell commands in modules.
Syntax
Find-Command
[[-Name] <String[]>]
[-ModuleName <String>]
[-MinimumVersion <Version>]
[-MaximumVersion <Version>]
[-RequiredVersion <Version>]
[-AllVersions]
[-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.
For each command found by Find-Command
, a PSGetCommandInfo object is returned. The
PSGetCommandInfo object can be sent down the pipeline to the Install-Module
cmdlet.
Install-Module
installs the module that contains the command.
Examples
Example 1: Find all commands in a specified repository
The Find-Command
cmdlet searches a registered repository for modules.
Find-Command -Repository PSGallery | Select-Object -First 10
Name Version ModuleName Repository
---- ------- ---------- ----------
Disable-AzureRmDataCollection 5.8.3 AzureRM.profile PSGallery
Disable-AzureRmContextAutosave 5.8.3 AzureRM.profile PSGallery
Enable-AzureRmDataCollection 5.8.3 AzureRM.profile PSGallery
Enable-AzureRmContextAutosave 5.8.3 AzureRM.profile PSGallery
Remove-AzureRmEnvironment 5.8.3 AzureRM.profile PSGallery
Get-AzureRmEnvironment 5.8.3 AzureRM.profile PSGallery
Set-AzureRmEnvironment 5.8.3 AzureRM.profile PSGallery
Add-AzureRmEnvironment 5.8.3 AzureRM.profile PSGallery
Get-AzureRmSubscription 5.8.3 AzureRM.profile PSGallery
Connect-AzureRmAccount 5.8.3 AzureRM.profile PSGallery
Find-Command
uses the Repository parameter to specify a registered repository's name. The
objects are sent down the pipeline. Select-Object
receives the objects and uses the First
parameter to display the first 10 results.
Example 2: 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 3: 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 Module-Name parameter.
Otherwise, modules might be installed that you didn't want to install.
PS> Find-Command -Name Get-TargetResource -Repository PSGallery -ModuleName SystemLocaleDsc |
Install-Module
PS> 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 4: Find a command and save its module
PS> 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
-AllVersions
Indicates that this cmdlet gets all versions of a module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Finds modules based on the PackageManagement provider's search syntax. For example, specify words to search for within the ModuleName and Description properties.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumVersion
Specifies the maximum version of the module to include in results. The MaximumVersion and the RequiredVersion parameters can't be used in the same command.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumVersion
Specifies the minimum version of the module to include in results. The MinimumVersion and the RequiredVersion parameters can't be used in the same command.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleName
Specifies the name of a module to search for commands. The default is all modules.
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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
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: | True |
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: | 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
Specifies the version of the module to include in the results.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Specifies tags that categorize modules in a repository. Use commas to separate an array of tags.
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.