Find-Command
Localiza comandos do PowerShell em 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
O Find-Command
cmdlet localiza comandos do PowerShell, como cmdlets, aliases, funções e fluxos de trabalho. Find-Command
procura módulos em repositórios registados.
Para cada comando encontrado pelo Find-Command
, é devolvido um objeto PSGetCommandInfo . O objeto PSGetCommandInfo pode ser enviado pelo pipeline para o Install-Module
cmdlet .
Install-Module
instala o módulo que contém o comando .
Exemplos
Exemplo 1: localizar todos os comandos num repositório especificado
O Find-Command
cmdlet procura módulos num repositório registado.
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
utiliza o parâmetro Repositório para especificar o nome de um repositório registado. Os objetos são enviados pelo pipeline. Select-Object
recebe os objetos e utiliza o primeiro parâmetro para apresentar os primeiros 10 resultados.
Exemplo 2: Localizar um comando por nome
Find-Command
pode utilizar o nome de um comando para localizar o módulo num repositório. É possível que exista um nome de comando em vários 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
utiliza o parâmetro Repository para procurar no PSGallery. O parâmetro Name especifica o comando Get-TargetResource
.
Exemplo 3: localizar comandos por nome e instalar o módulo
Find-Command
pode localizar o comando e o módulo e, em seguida, enviar o objeto para Install-Module
. Se um comando estiver incluído em vários módulos, utilize o parâmetro ModuleName dos Find-Command
cmdlets.
Caso contrário, poderão ser instalados módulos que não queria 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
utiliza o parâmetro Nome para especificar o comando Get-TargetResource
. O parâmetro Repository procura na PSGallery. O parâmetro ModuleName especifica o módulo que pretende instalar, SystemLocaleDsc. O objeto é enviado pelo pipeline para Install-Module
e o módulo é instalado. Após a conclusão da instalação, pode utilizar Get-InstalledModule
para apresentar os resultados.
Exemplo 4: localizar um comando e guardar o 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
utiliza os parâmetros Nome e Repositório para procurar o comando Invoke-ScriptAnalyzer
no repositório PSGallery . O objeto é enviado pelo pipeline para Save-Module
. O parâmetro Path determina a localização para guardar o módulo. Verboso é um parâmetro opcional, mas apresenta a saída do estado na consola do PowerShell. A saída verbosa é benéfica para a resolução de problemas.
Parâmetros
-AllowPrerelease
Inclui módulos marcados como pré-lançamento nos resultados.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllVersions
Indica que este cmdlet obtém todas as versões de um módulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Localiza módulos com base na sintaxe de pesquisa do fornecedor PackageManagement . Por exemplo, especifique palavras a procurar nas propriedades ModuleName e Description .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumVersion
Especifica a versão máxima do módulo a incluir nos resultados. Os parâmetros MaximumVersion e RequiredVersion não podem ser utilizados no mesmo comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumVersion
Especifica a versão mínima do módulo a incluir nos resultados. Os parâmetros MinimumVersion e RequiredVersion não podem ser utilizados no mesmo comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleName
Especifica o nome de um módulo para procurar comandos. A predefinição são todos os módulos.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifica o nome do comando a procurar num repositório. Utilize vírgulas para separar uma matriz de nomes de comandos.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Proxy
Especifica um servidor proxy para o pedido, em vez de uma ligação direta 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 utilizador que tem permissão para utilizar o servidor proxy especificado pelo parâmetro Proxy .
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Repository
Especifica o repositório para procurar comandos. Utilize vírgulas para separar uma matriz de nomes de repositório. A predefinição é todos os repositórios.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Especifica a versão do módulo a incluir nos resultados.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Especifica etiquetas que categorizam módulos num repositório. Utilize vírgulas para separar uma matriz de etiquetas.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Saídas
PSGetCommandInfo
Find-Command
produz um objeto PSGetCommandInfo .
Notas
Importante
A partir de abril de 2020, o Galeria do PowerShell já não suporta as versões 1.0 e 1.1 do Transport Layer Security (TLS). Se não estiver a utilizar o TLS 1.2 ou superior, receberá um erro ao tentar aceder ao Galeria do PowerShell. Utilize o seguinte comando para garantir que está a utilizar o TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Para obter mais informações, veja o anúncio no blogue do PowerShell.