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-Command
polecenie 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-Command
ModuleName 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.