| external help file | PSModule-help.xml |
|---|---|
| Locale | en-US |
| Module Name | PowerShellGet |
| ms.date | 10/04/2021 |
| online version | https://learn.microsoft.com/powershell/module/powershellget/find-command?view=powershellget-1.x&WT.mc_id=ps-gethelp |
| schema | 2.0.0 |
| title | Find-Command |
Finds PowerShell commands in modules.
Find-Command [[-Name] <String[]>] [-ModuleName <String>] [-MinimumVersion <Version>]
[-MaximumVersion <Version>] [-RequiredVersion <Version>] [-AllVersions] [-Tag <String[]>]
[-Filter <String>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-Repository <String[]>]
[<CommonParameters>]
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.
The Find-Command cmdlet searches a registered repository for modules.
Find-Command -Repository PSGallery | Select-Object -First 10Name 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.
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-TargetResourceName 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.
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.
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.
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.
Indicates that this cmdlet gets all versions of a module.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseFinds modules based on the PackageManagement provider's search syntax. For example, specify words to search for within the ModuleName and Description properties.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies 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: System.Version
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies 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: System.Version
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies the name of a module to search for commands. The default is all modules.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies the command name to search for in a repository. Use commas to separate an array of command names.
Type: System.String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies a proxy server for the request, rather than a direct connection to the internet resource.
Type: System.Uri
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseSpecifies a user account that has permission to use the proxy server that is specified by the Proxy parameter.
Type: System.Management.Automation.PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: FalseSpecifies the repository to search for commands. Use commas to separate an array of repository names. The default is all repositories.
Type: System.String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies the version of the module to include in the results.
Type: System.Version
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseSpecifies tags that categorize modules in a repository. Use commas to separate an array of tags.
Type: System.String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseThis cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Find-Command outputs a PSCustomObject object.
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.
Select-Object