Find-Module

Localiza módulos em um repositório que correspondem aos critérios especificados.

Syntax

Find-Module
    [[-Name] <string[]>]
    [-MinimumVersion <string>]
    [-MaximumVersion <string>]
    [-RequiredVersion <string>]
    [-AllVersions]
    [-IncludeDependencies]
    [-Filter <string>]
    [-Tag <string[]>]
    [-Includes <string[]>]
    [-DscResource <string[]>]
    [-RoleCapability <string[]>]
    [-Command <string[]>]
    [-Proxy <uri>]
    [-ProxyCredential <pscredential>]
    [-Repository <string[]>]
    [-Credential <pscredential>]
    [-AllowPrerelease]
    [<CommonParameters>]

Description

O Find-Module cmdlet localiza módulos em um repositório que correspondem aos critérios especificados. Find-Module retorna um objeto PSRepositoryItemInfo para cada módulo encontrado. Os objetos podem ser enviados pelo pipeline para cmdlets como Install-Module.

Na primeira vez Find-Module que tentar usar um repositório, você poderá ser solicitado a instalar atualizações. Se a origem do repositório não estiver registrada com Register-PSRepository o cmdlet, um erro será retornado.

Find-Module retornará a versão mais recente de um módulo se nenhum parâmetro for usado que limite a versão. Para obter a lista de versões de um módulo de um repositório, use o parâmetro AllVersions.

Se o parâmetro MinimumVersion for especificado, Find-Module retornará a versão do módulo igual ou maior que o mínimo. Se houver uma versão mais recente disponível no repositório, a versão mais recente será retornada.

Se o parâmetro MaximumVersion for especificado, Find-Module retornará a versão mais recente do módulo que não excede a versão especificada.

Se o parâmetro RequiredVersion for especificado, Find-Module retornará apenas a versão do módulo que corresponde exatamente à versão especificada. Find-Module pesquisa em todos os módulos disponíveis, pois podem ocorrer conflitos de nome entre fontes.

Os exemplos a seguir usam o Galeria do PowerShell como o único repositório registrado. Get-PSRepository exibe os repositórios registrados. Se você tiver vários repositórios registrados, use o -Repository parâmetro para especificar o nome do repositório.

Exemplos

Exemplo 1: Localizar um módulo por nome

Este exemplo localiza um módulo no repositório padrão.

Find-Module -Name PowerShellGet

Version   Name              Repository           Description
-------   ----              ----------           -----------
2.1.0     PowerShellGet     PSGallery            PowerShell module with commands for discovering...

O Find-Module cmdlet usa o parâmetro Name para especificar o módulo PowerShellGet .

Exemplo 2: Localizar módulos com nomes semelhantes

Este exemplo usa o curinga asterisco (*) para localizar módulos com nomes semelhantes.

Find-Module -Name PowerShell*

Version   Name                            Repository    Description
-------   ----                            ----------    -----------
0.4.0     powershell-yaml                 PSGallery     Powershell module for serializing and...
2.1.0     PowerShellGet                   PSGallery     PowerShell module with commands for...
1.9       Powershell.Helper.Extension     PSGallery     # Powershell.Helper.Extension...
3.1       PowerShellHumanizer             PSGallery     PowerShell Humanizer wraps Humanizer...
4.0       PowerShellISEModule             PSGallery     a module that adds capability to the ISE

O Find-Module cmdlet usa o parâmetro Name com o curinga asterisco (*) para localizar todos os módulos que contêm o PowerShell.

Exemplo 3: Localizar um módulo por versão mínima

Este exemplo pesquisa a versão mínima de um módulo. Se o repositório contiver uma versão mais recente do módulo, a versão mais recente será retornada.

Find-Module -Name PowerShellGet -MinimumVersion 1.6.5

Version   Name             Repository     Description
-------   ----             ----------     -----------
2.1.0     PowerShellGet    PSGallery      PowerShell module with commands for discovering...

O Find-Module cmdlet usa o parâmetro Name para especificar o módulo PowerShellGet . O MinimumVersion especifica a versão 1.6.5. Find-Module retorna o PowerShellGet versão 2.1.0 porque excede a versão mínima e é a versão mais atual.

Exemplo 4: Localizar um módulo por versão específica

Este exemplo retorna um objeto que representa a versão específica de um módulo. Se a versão especificada não for encontrada, um erro será retornado.

Find-Module -Name PowerShellGet -RequiredVersion 1.6.5

Version   Name             Repository     Description
-------   ----             ----------     -----------
1.6.5     PowerShellGet    PSGallery      PowerShell module with commands for discovering...

O Find-Module cmdlet usa o parâmetro Name para especificar o módulo PowerShellGet . O parâmetro RequiredVersion especifica a versão 1.6.5.

Exemplo 5: Localizar um módulo em um repositório específico

Este exemplo usa o parâmetro Repository para localizar um módulo em um repositório específico.

Find-Module -Name PowerShellGet -Repository PSGallery

Version   Name             Repository     Description
-------   ----             ----------     -----------
2.1.0     PowerShellGet    PSGallery      PowerShell module with commands for discovering...

O Find-Module cmdlet usa o parâmetro Name para especificar o módulo PowerShellGet . O parâmetro Repository especifica para pesquisar o repositório PSGallery .

Exemplo 6: Localizar um módulo em vários repositórios

Este exemplo usa o Register-PSRepository para especificar um repositório. Find-Module usa o repositório para pesquisar um módulo.

Register-PSRepository -Name MySource -SourceLocation https://www.myget.org/F/powershellgetdemo/
Find-Module -Name Contoso* -Repository PSGallery, MySource

Repository    Version   Name             Description
----------    -------   ----             -----------
PSGallery     2.0.0.0   ContosoServer    Cmdlets and DSC resources for managing Contoso Server...
MySource      1.2.0.0   ContosoClient    Cmdlets and DSC resources for managing Contoso Client...

O Register-PSRepository cmdlet registra um novo repositório. O parâmetro Name atribui o nome MySource. O parâmetro SourceLocation especifica o endereço do repositório.

O Find-Module cmdlet usa o parâmetro Name com o curinga asterisco (*) para especificar o módulo Contoso . O parâmetro Repository especifica a pesquisa de dois repositórios, PSGallery e MySource.

Exemplo 7: Localizar um módulo que contém um recurso DSC

Esse comando retorna módulos que contêm recursos DSC. O parâmetro Includes tem quatro funcionalidades predefinidas que são usadas para pesquisar o repositório. Use tab-complete para exibir as quatro funcionalidades compatíveis com o parâmetro Includes .

Find-Module -Repository PSGallery -Includes DscResource

Version     Name                            Repository    Description
-------     ----                            ----------    -----------
2.7.0       Carbon                          PSGallery     Carbon is a PowerShell module...
8.5.0.0     xPSDesiredStateConfiguration    PSGallery     The xPSDesiredStateConfiguration module...
1.3.1       PackageManagement               PSGallery     PackageManagement (a.k.a. OneGet) is...
2.7.0.0     xWindowsUpdate                  PSGallery     Module with DSC Resources...
3.2.0.0     xCertificate                    PSGallery     This module includes DSC resources...
3.1.0.0     xPowerShellExecutionPolicy      PSGallery     This DSC resource can change the user...

O Find-Module cmdlet usa o parâmetro Repository para pesquisar o repositório , PSGallery. O parâmetro Includes especifica DscResource, que é uma funcionalidade que o parâmetro pode pesquisar no repositório.

Exemplo 8: Localizar um módulo com um filtro

Neste exemplo, para localizar módulos, um filtro é usado para pesquisar o repositório.

Para um repositório baseado em NuGet, o parâmetro Filter pesquisa o nome, a descrição e as marcas do argumento.

Find-Module -Filter AppDomain

Version    Name              Repository           Description
-------    ----              ----------           -----------
1.0.0.0  AppDomainConfig     PSGallery            Manipulate AppDomain configuration...
1.1.0    ClassExplorer       PSGallery            Quickly search the AppDomain for classes...

O Find-Module cmdlet usa o parâmetro Filter para pesquisar o repositório de AppDomain.

Parâmetros

-AllowPrerelease

Inclui nos módulos de resultados marcados como uma pré-lançamento.

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

-AllVersions

Especifica a inclusão de todas as versões de um módulo nos resultados. Não é possível usar o parâmetro AllVersions com os parâmetrosMinimumVersion, MaximumVersion ou RequiredVersion .

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

-Command

Especifica uma matriz de comandos a serem encontrados em módulos. Um comando pode ser uma função ou fluxo de trabalho.

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

-Credential

Especifica uma conta de usuário que tem direitos para instalar um módulo para um provedor ou fonte de pacote especificado.

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

-DscResource

Especifica o nome, ou parte do nome, de módulos que contêm recursos de DSC. Por convenções do PowerShell, executa uma pesquisa OR quando você fornece vários argumentos.

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

-Filter

Especifica um filtro com base na sintaxe de pesquisa específica do provedor PackageManagement . Para módulos NuGet, esse parâmetro é o equivalente à pesquisa usando a barra de Pesquisa no site do Galeria do PowerShell.

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

-IncludeDependencies

Indica que essa operação inclui todos os módulos que dependem do módulo especificado no parâmetro Name .

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

-Includes

Retorna apenas os módulos que incluem tipos específicos de funcionalidade do PowerShell. Por exemplo, talvez você queira apenas encontrar módulos que incluam DSCResource. Os valores aceitáveis para esse parâmetro são os seguintes:

  • Cmdlet
  • DscResource
  • Função
  • RoleCapability
Type:String[]
Accepted values:DscResource, Cmdlet, Function, RoleCapability
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

Especifica a versão máxima ou mais recente do módulo a ser incluída nos resultados da pesquisa. MaximumVersion e RequiredVersion não podem ser usados no mesmo comando.

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

-MinimumVersion

Especifica a versão mínima do módulo a ser incluída nos resultados. MinimumVersion e RequiredVersion não podem ser usados no mesmo comando.

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

-Name

Especifica os nomes dos módulos a serem pesquisados no repositório. Uma lista separada por vírgulas de nomes de módulo é aceita. Você pode usar curingas.

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

-Proxy

Especifica um servidor proxy para a solicitação, em vez de se conectar diretamente ao recurso da Internet.

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

-ProxyCredential

Especifica uma conta de usuário com permissão para conectar-se aos computadores especificados pelo parâmetro Proxy.

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

-Repository

Use o parâmetro Repositório para especificar qual repositório pesquisar um módulo. Usado quando vários repositórios são registrados. Aceita uma lista separada por vírgulas de repositórios. Para registrar um repositório, use Register-PSRepository. Para exibir repositórios registrados, use Get-PSRepository.

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

-RequiredVersion

Especifica o número de versão exato do módulo a ser incluído nos resultados. RequiredVersion não pode ser usado no mesmo comando que MinimumVersion ou MaximumVersion.

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

-RoleCapability

Especifica uma matriz de funcionalidades de função.

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

-Tag

Especifica uma matriz de marcas. As marcas de exemplo incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule.

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

Entradas

String[]

String

Uri

PSCredential

Saídas

PSRepositoryItemInfo

Find-Module cria objetos PSRepositoryItemInfo que podem ser enviados pelo pipeline para cmdlets como Install-Module.

Observações

Importante

A partir de abril de 2020, a Galeria do PowerShell não dará mais suporte às versões 1.0 e 1.1 do protocolo TLS. Se você não estiver usando o TLS 1.2 ou posterior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que esteja usando o TLS 1.2:

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

Para obter mais informações, confira o comunicado no blog do PowerShell.