Compartir a través de


Find-Command

Busca comandos de PowerShell en módulos.

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

El Find-Command cmdlet busca comandos de PowerShell, como cmdlets, alias, funciones y flujos de trabajo. Find-Command busca módulos en repositorios registrados.

Para cada comando encontrado por Find-Command, se devuelve un objeto PSGetCommandInfo . El objeto PSGetCommandInfo se puede enviar a la canalización al Install-Module cmdlet . Install-Module instala el módulo que contiene el comando .

Ejemplos

Ejemplo 1: Buscar todos los comandos en un repositorio especificado

El Find-Command cmdlet busca módulos en un repositorio registrado.

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 usa el parámetro Repository para especificar el nombre de un repositorio registrado. Los objetos se envían a la canalización. Select-Object recibe los objetos y usa el parámetro First para mostrar los primeros 10 resultados.

Ejemplo 2: Buscar un comando por nombre

Find-Command puede usar el nombre de un comando para buscar el módulo en un repositorio. Es posible que exista un nombre de comando en varios 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 usa el parámetro Repository para buscar en PSGallery. El parámetro Name especifica el comando Get-TargetResource.

Ejemplo 3: Búsqueda de comandos por nombre e instalación del módulo

Find-Command puede buscar el comando y el módulo y, a continuación, enviar el objeto a Install-Module. Si un comando se incluye en varios módulos, use el parámetro ModuleName de cmdletsFind-Command. De lo contrario, es posible que los módulos se instalen que no desea instalar.

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 usa el parámetro Name para especificar el comando Get-TargetResource. El parámetro Repository busca en PSGallery. El parámetro ModuleName especifica el módulo que desea instalar, SystemLocaleDsc. El objeto se envía a la canalización a Install-Module y se instala el módulo. Una vez finalizada la instalación, puede usar Get-InstalledModule para mostrar los resultados.

Ejemplo 4: Buscar un comando y guardar su módulo

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 usa los parámetros Name y Repository para buscar el comando Invoke-ScriptAnalyzer en el repositorio PSGallery . El objeto se envía por la canalización a Save-Module. El parámetro Path determina la ubicación para guardar el módulo. Verbose es un parámetro opcional, pero muestra la salida de estado en la consola de PowerShell. La salida detallada es beneficiosa para solucionar problemas.

Parámetros

-AllowPrerelease

Incluye módulos marcados como una versión preliminar en los resultados.

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

-AllVersions

Indica que este cmdlet obtiene todas las versiones de un módulo.

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

-Filter

Busca módulos basados en la sintaxis de búsqueda del proveedor PackageManagement . Por ejemplo, especifique las palabras que se van a buscar en las propiedades ModuleName y Description .

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

-MaximumVersion

Especifica la versión máxima del módulo que se va a incluir en los resultados. Los parámetros MaximumVersion y RequiredVersion no se pueden usar en el mismo comando.

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

-MinimumVersion

Especifica la versión mínima del módulo que se va a incluir en los resultados. Los parámetros MinimumVersion y RequiredVersion no se pueden usar en el mismo comando.

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

-ModuleName

Especifica el nombre de un módulo para buscar comandos. El valor predeterminado es todos los módulos.

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

-Name

Especifica el nombre del comando que se va a buscar en un repositorio. Use comas para separar una matriz de nombres de comando.

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

-Proxy

Especifica un servidor proxy para la solicitud, en lugar de una conexión directa al recurso de Internet.

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

-ProxyCredential

Especifica una cuenta de usuario que tiene permiso para usar el servidor proxy especificado por el parámetro Proxy.

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

-Repository

Especifica el repositorio que se va a buscar comandos. Use comas para separar una matriz de nombres de repositorio. El valor predeterminado es todos los repositorios.

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

-RequiredVersion

Especifica la versión del módulo que se va a incluir en los resultados.

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

-Tag

Especifica etiquetas que clasifican módulos en un repositorio. Use comas para separar una matriz de etiquetas.

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

Salidas

PSGetCommandInfo

Find-Command genera un objeto PSGetCommandInfo .

Notas

Importante

A partir de abril de 2020, Galería de PowerShell ya no es compatible con las versiones 1.0 y 1.1 de Seguridad de la capa de transporte (TLS). Si no usa TLS 1.2 o una versión posterior, recibirá un error al intentar obtener acceso a Galería de PowerShell. Use el siguiente comando para asegurarse de que usa TLS 1.2:

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

Para más información, consulte el anuncio en el blog de PowerShell.