Udostępnij za pośrednictwem


Find-Command

Znajduje polecenia programu PowerShell w modułach.

Składnia

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>]

Opis

Polecenie Find-Command cmdlet znajduje polecenia programu PowerShell, takie jak polecenia cmdlet, aliasy, funkcje i przepływy pracy. Find-Command wyszukuje moduły w zarejestrowanych repozytoriach.

Dla każdego polecenia znalezionego przez Find-Commandpolecenie zwracany jest obiekt PSGetCommandInfo . Obiekt PSGetCommandInfo można wysłać potok do Install-Module polecenia cmdlet . Install-Module instaluje moduł zawierający polecenie .

Przykłady

Przykład 1. Znajdowanie wszystkich poleceń w określonym repozytorium

Polecenie Find-Command cmdlet wyszukuje zarejestrowane repozytorium modułów.

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 używa parametru Repository w celu określenia nazwy zarejestrowanego repozytorium. Obiekty są wysyłane w dół potoku. Select-Object odbiera obiekty i używa pierwszego parametru do wyświetlenia pierwszych 10 wyników.

Przykład 2. Znajdowanie polecenia według nazwy

Find-Command program może użyć nazwy polecenia, aby zlokalizować moduł w repozytorium. Istnieje możliwość, że nazwa polecenia istnieje w wielu nazwach modułów.

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 używa parametru Repository do wyszukiwania w galerii PSGallery. Parametr Name określa polecenie Get-TargetResource.

Przykład 3. Znajdowanie poleceń według nazwy i instalowanie modułu

Find-Command program może zlokalizować polecenie i moduł, a następnie wysłać obiekt do Install-Module. Jeśli polecenie znajduje się w wielu modułach, użyj parametru Find-CommandModuleName poleceń cmdlet. W przeciwnym razie moduły mogą być zainstalowane, których nie chcesz instalować.

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 używa parametru Name , aby określić polecenie Get-TargetResource. Parametr Repository wyszukuje w galerii PSGallery. Parametr ModuleName określa moduł, który chcesz zainstalować, SystemLocaleDsc. Obiekt jest wysyłany w dół potoku do programu , a Install-Module moduł jest zainstalowany. Po zakończeniu instalacji można użyć Get-InstalledModule polecenia , aby wyświetlić wyniki.

Przykład 4. Znajdowanie polecenia i zapisywanie modułu

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 Używa parametrów Name i Repository do wyszukiwania polecenia Invoke-ScriptAnalyzer w repozytorium PSGallery . Obiekt jest wysyłany w dół potoku do .Save-Module Parametr Path określa lokalizację do zapisania modułu. Pełne jest opcjonalnym parametrem, ale wyświetla dane wyjściowe stanu w konsoli programu PowerShell. Pełne dane wyjściowe są przydatne do rozwiązywania problemów.

Parametry

-AllowPrerelease

Obejmuje moduły oznaczone jako wersję wstępną w wynikach.

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

-AllVersions

Wskazuje, że to polecenie cmdlet pobiera wszystkie wersje modułu.

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

-Filter

Wyszukuje moduły na podstawie składni wyszukiwania dostawcy PackageManagement . Na przykład określ wyrazy do wyszukania we właściwościach ModuleName i Description .

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

-MaximumVersion

Określa maksymalną wersję modułu do uwzględnienia w wynikach. Parametrów MaximumVersion i RequiredVersion nie można użyć w tym samym poleceniu.

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

-MinimumVersion

Określa minimalną wersję modułu do uwzględnienia w wynikach. Parametrów MinimumVersion i RequiredVersion nie można użyć w tym samym poleceniu.

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

-ModuleName

Określa nazwę modułu do wyszukiwania poleceń. Wartość domyślna to wszystkie moduły.

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

-Name

Określa nazwę polecenia do wyszukania w repozytorium. Użyj przecinków, aby oddzielić tablicę nazw poleceń.

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

-Proxy

Określa serwer proxy dla żądania, a nie bezpośrednie połączenie z zasobem internetowym.

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

-ProxyCredential

Określa konto użytkownika, które ma uprawnienia do korzystania z serwera proxy, który jest określony przez parametr proxy .

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

-Repository

Określa repozytorium do wyszukiwania poleceń. Użyj przecinków, aby oddzielić tablicę nazw repozytoriów. Wartość domyślna to wszystkie repozytoria.

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

-RequiredVersion

Określa wersję modułu do uwzględnienia w wynikach.

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

-Tag

Określa tagi, które kategoryzują moduły w repozytorium. Użyj przecinków, aby oddzielić tablicę tagów.

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

Dane wyjściowe

PSGetCommandInfo

Find-Command generuje obiekt PSGetCommandInfo .

Uwagi

Ważne

Od kwietnia 2020 r. Galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do Galeria programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:

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

Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu programu PowerShell.