Find-Command

Sucht PowerShell-Befehle in Modulen.

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

Beschreibung

Das Find-Command Cmdlet sucht Nach PowerShell-Befehlen wie Cmdlets, Aliasen, Funktionen und Workflows. Find-Command durchsucht Module in registrierten Repositorys.

Für jeden von gefundenen Find-CommandBefehl wird ein PSGetCommandInfo-Objekt zurückgegeben. Das PSGetCommandInfo-Objekt kann über die Pipeline an das Install-Module Cmdlet gesendet werden. Install-Module installiert das Modul, das den Befehl enthält.

Beispiele

Beispiel 1: Suchen aller Befehle in einem angegebenen Repository

Das Find-Command Cmdlet durchsucht ein registriertes Repository nach Modulen.

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 verwendet den Repository-Parameter , um den Namen eines registrierten Repositorys anzugeben. Die Objekte werden über die Pipeline gesendet. Select-Object empfängt die -Objekte und verwendet den First-Parameter , um die ersten 10 Ergebnisse anzuzeigen.

Beispiel 2: Suchen eines Befehls anhand des Namens

Find-Command kann den Namen eines Befehls verwenden, um das Modul in einem Repository zu suchen. Es ist möglich, dass ein Befehlsname in mehreren ModuleNames vorhanden ist.

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 verwendet den Repository-Parameter , um die PSGallery zu durchsuchen. Der Parameter Name gibt den Befehl Get-TargetResourcean.

Beispiel 3: Suchen von Befehlen nach Namen und Installieren des Moduls

Find-Command kann den Befehl und das Modul suchen und dann das -Objekt an Install-Modulesenden. Wenn ein Befehl in mehreren Modulen enthalten ist, verwenden Sie den Find-CommandParameter "Cmdlets ModuleName ". Andernfalls werden möglicherweise Module installiert, die Sie nicht installieren wollten.

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 verwendet den Name-Parameter , um den Befehl Get-TargetResourceanzugeben. Der Repository-Parameter durchsucht die PSGallery. Der Parameter ModuleName gibt das Modul an, das Sie installieren möchten, SystemLocaleDsc. Das Objekt wird von der Pipeline an Install-Module gesendet, und das Modul wird installiert. Nach Abschluss der Installation können Get-InstalledModule Sie verwenden, um die Ergebnisse anzuzeigen.

Beispiel 4: Suchen eines Befehls und Speichern des zugehörigen Moduls

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-Commandverwendet die Parameter Name und Repository, um im PSGallery-Repository nach dem Befehl Invoke-ScriptAnalyzer zu suchen. Das -Objekt wird in der Pipeline an Save-Modulegesendet. Der Path-Parameter bestimmt den Speicherort für das Modul. Verbose ist ein optionaler Parameter, zeigt jedoch status Ausgabe in der PowerShell-Konsole an. Die ausführliche Ausgabe ist für die Problembehandlung von Vorteil.

Parameter

-AllowPrerelease

Enthält Module, die als Vorabversion in den Ergebnissen markiert sind.

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

-AllVersions

Gibt an, dass dieses Cmdlet alle Versionen eines Moduls abruft.

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

-Filter

Sucht Module basierend auf der Suchsyntax des PackageManagement-Anbieters . Geben Sie beispielsweise Wörter an, nach der gesucht werden soll, innerhalb der Eigenschaften ModuleName und Description .

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

-MaximumVersion

Gibt die maximale Version des Moduls an, die in die Ergebnisse eingeschlossen werden soll. Die Parameter MaximumVersion und RequiredVersion können nicht im gleichen Befehl verwendet werden.

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

-MinimumVersion

Gibt die Mindestversion des Moduls an, die in die Ergebnisse eingeschlossen werden soll. Die Parameter MinimumVersion und RequiredVersion können nicht im gleichen Befehl verwendet werden.

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

-ModuleName

Gibt den Namen eines Moduls an, das nach Befehlen gesucht werden soll. Der Standardwert sind alle Module.

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

-Name

Gibt den Befehlsnamen an, nach dem in einem Repository gesucht werden soll. Verwenden Sie Kommas, um ein Array von Befehlsnamen zu trennen.

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

-Proxy

Gibt einen Proxyserver für die Anforderung anstelle einer direkten Verbindung mit der Internetressource an.

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

-ProxyCredential

Gibt ein Benutzerkonto an, das über die Berechtigung zur Verwendung des Proxyservers verfügt, der durch den Proxy-Parameter angegeben wird.

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

-Repository

Gibt das Repository an, das nach Befehlen gesucht werden soll. Verwenden Sie Kommas, um ein Array von Repositorynamen zu trennen. Der Standardwert sind alle Repositorys.

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

-RequiredVersion

Gibt die Version des Moduls an, das in die Ergebnisse eingeschlossen werden soll.

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

-Tag

Gibt Tags an, die Module in einem Repository kategorisieren. Verwenden Sie Kommas, um ein Array von Tags zu trennen.

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

Ausgaben

PSGetCommandInfo

Find-Command gibt ein PSGetCommandInfo-Objekt aus.

Hinweise

Wichtig

Ab April 2020 unterstützt der PowerShell-Katalog die TLS-Versionen (Transport Layer Security) 1.0 und 1.1 nicht mehr. Wenn Sie nicht TLS 1.2 oder höher verwenden, erhalten Sie beim Versuch des Zugriffs auf den PowerShell-Katalog eine Fehlermeldung. Mit dem folgenden Befehl können Sie sicherstellen, dass Sie TLS 1.2 verwenden:

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

Weitere Informationen finden Sie im PowerShell-Blog in der Ankündigung.