Freigeben über


Find-Module

Sucht Module in einem Repository, die den angegebenen Kriterien entsprechen.

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

Beschreibung

Das Find-Module Cmdlet findet Module in einem Repository, die den angegebenen Kriterien entsprechen. Find-Module gibt ein PSRepositoryItemInfo-Objekt für jedes gefundene Modul zurück. Die Objekte können in der Pipeline an Cmdlets wie Install-Modulegesendet werden.

Wenn Sie zum ersten Mal Find-Module versucht, ein Repository zu verwenden, werden Sie möglicherweise aufgefordert, Updates zu installieren. Wenn die Repositoryquelle nicht beim Register-PSRepository Cmdlet registriert ist, wird ein Fehler zurückgegeben.

Find-Module gibt die neueste Version eines Moduls zurück, wenn keine Parameter verwendet werden, die die Version einschränken. Verwenden Sie den Parameter AllVersions, um die Liste der Versionen eines Repositorys abzurufen.

Wenn der MinimumVersion-Parameter angegeben ist, Find-Module gibt die Version des Moduls zurück, die gleich oder größer als das Minimum ist. Wenn im Repository eine neuere Version verfügbar ist, wird die neuere Version zurückgegeben.

Wenn der Parameter MaximumVersion angegeben ist, Find-Module gibt die neueste Version des Moduls zurück, die die angegebene Version nicht überschreitet.

Wenn der RequiredVersion-Parameter angegeben ist, Find-Module gibt nur die Modulversion zurück, die genau mit der angegebenen Version übereinstimmt. Find-Module durchsucht alle verfügbaren Module, da Namenskonflikte zwischen Quellen auftreten können.

In den folgenden Beispielen wird das PowerShell-Katalog als einziges registriertes Repository verwendet. Get-PSRepository zeigt die registrierten Repositorys an. Wenn Sie über mehrere registrierte Repositorys verfügen, verwenden Sie den -Repository Parameter, um den Namen des Repositorys anzugeben.

Beispiele

Beispiel 1: Suchen eines Moduls nach Name

In diesem Beispiel wird ein Modul im Standardrepository gefunden.

Find-Module -Name PowerShellGet

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

Das Find-Module Cmdlet verwendet den Parameter Name , um das PowerShellGet-Modul anzugeben.

Beispiel 2: Suchen nach Modulen mit ähnlichen Namen

In diesem Beispiel wird das Platzhalterzeichen Sternchen (*) verwendet, um Module mit ähnlichen Namen zu finden.

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

Das Find-Module Cmdlet verwendet den Parameter Name mit dem Platzhalter Sternchen (*), um alle Module zu finden, die PowerShell enthalten.

Beispiel 3: Suchen eines Moduls nach Mindestversion

In diesem Beispiel wird nach der Mindestversion eines Moduls gesucht. Wenn das Repository eine neuere Version des Moduls enthält, wird die neuere Version zurückgegeben.

Find-Module -Name PowerShellGet -MinimumVersion 1.6.5

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

Das Find-Module Cmdlet verwendet den Parameter Name , um das PowerShellGet-Modul anzugeben. MinimumVersion gibt Version 1.6.5 an. Find-Module gibt PowerShellGet-Version 2.1.0 zurück, da sie die Mindestversion überschreitet und die aktuellste Version ist.

Beispiel 4: Suchen eines Moduls nach einer bestimmten Version

In diesem Beispiel wird ein -Objekt zurückgegeben, das die spezifische Version eines Moduls darstellt. Wenn die angegebene Version nicht gefunden wird, wird ein Fehler zurückgegeben.

Find-Module -Name PowerShellGet -RequiredVersion 1.6.5

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

Das Find-Module Cmdlet verwendet den Parameter Name , um das PowerShellGet-Modul anzugeben. Der Parameter RequiredVersion gibt Version 1.6.5 an.

Beispiel 5: Suchen eines Moduls in einem bestimmten Repository

In diesem Beispiel wird der Repository-Parameter verwendet, um ein Modul in einem bestimmten Repository zu finden.

Find-Module -Name PowerShellGet -Repository PSGallery

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

Das Find-Module Cmdlet verwendet den Parameter Name , um das PowerShellGet-Modul anzugeben. Der Repository-Parameter gibt an, das REPOSITORY PSGallery zu durchsuchen.

Beispiel 6: Suchen eines Moduls in mehreren Repositorys

In diesem Beispiel wird verwendet, Register-PSRepository um ein Repository anzugeben. Find-Module verwendet das Repository, um nach einem Modul zu suchen.

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

Das Register-PSRepository Cmdlet registriert ein neues Repository. Der Name-Parameter weist den Namen MySource zu. Der SourceLocation-Parameter gibt die Adresse des Repositorys an.

Das Find-Module Cmdlet verwendet den Parameter Name mit dem Platzhalter Sternchen (*), um das Contoso-Modul anzugeben. Der Repository-Parameter gibt an, zwei Repositorys zu durchsuchen: PSGallery und MySource.

Beispiel 7: Suchen eines Moduls, das eine DSC-Ressource enthält

Dieser Befehl gibt Module zurück, die DSC-Ressourcen enthalten. Der Includes-Parameter verfügt über vier vordefinierte Funktionen, die zum Durchsuchen des Repositorys verwendet werden. Verwenden Sie tabvervollständigen, um die vier Funktionen anzuzeigen, die vom Includes-Parameter unterstützt werden.

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

Das Find-Module Cmdlet verwendet den Repository-Parameter , um das Repository PSGallery zu durchsuchen. Der Includes-Parameter gibt DscResource an. Hierbei handelt es sich um eine Funktionalität, nach der der Parameter im Repository suchen kann.

Beispiel 8: Suchen eines Moduls mit einem Filter

In diesem Beispiel wird zum Suchen von Modulen ein Filter verwendet, um das Repository zu durchsuchen.

Bei einem NuGet-basierten Repository durchsucht der Filter-Parameter den Namen, die Beschreibung und die Tags nach dem Argument.

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

Das Find-Module Cmdlet verwendet den Filter-Parameter , um das Repository nach AppDomain zu durchsuchen.

Parameter

-AllowPrerelease

Enthält in den Ergebnismodulen, die als Vorabversion gekennzeichnet sind.

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

-AllVersions

Gibt an, dass alle Versionen eines Moduls in die Ergebnisse eingeschlossen werden sollen. Sie können den AllVersions-Parameter nicht mit den Parametern MinimumVersion, MaximumVersion oder RequiredVersion verwenden.

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

-Command

Gibt ein Array von Befehlen an, die in Modulen gesucht werden sollen. Ein Befehl kann eine Funktion oder ein Workflow sein.

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

-Credential

Gibt ein Benutzerkonto an, das über Berechtigungen zum Installieren eines Moduls für einen angegebenen Paketanbieter oder eine angegebene Quelle verfügt.

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

-DscResource

Gibt den Namen oder einen Teil des Namens von Modulen an, die DSC-Ressourcen enthalten. Führt gemäß PowerShell-Konventionen eine OR-Suche aus, wenn Sie mehrere Argumente bereitstellen.

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

-Filter

Gibt einen Filter basierend auf der Anbietersyntax des Paketmanagement-Anbieters an. Für NuGet-Module entspricht dieser Parameter der Suche mithilfe der Search leiste auf der PowerShell-Katalog Website.

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

-IncludeDependencies

Gibt an, dass dieser Vorgang alle Module umfasst, die von dem im Parameter Name angegebenen Modul abhängig sind.

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

-Includes

Gibt nur die Module zurück, die bestimmte Arten von PowerShell-Funktionen enthalten. Beispielsweise sollten Sie nur Module suchen, die DSCResource enthalten. Die zulässigen Werte für diesen Parameter sind wie folgt:

  • Cmdlet
  • DscResource
  • Funktion
  • 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

Gibt die maximale oder neueste Version des Moduls an, die in die Suchergebnisse aufgenommen werden soll. MaximumVersion und RequiredVersion können nicht im gleichen Befehl verwendet werden.

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

-MinimumVersion

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

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

-Name

Gibt die Namen der Module an, nach der im Repository gesucht werden soll. Eine durch Trennzeichen getrennte Liste von Modulnamen wird akzeptiert. Feldhalter werden akzeptiert.

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

-Proxy

Gibt einen Proxyserver für die Anforderung an, anstatt eine direkte Verbindung mit der Internetressource herzustellen.

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

Verwenden Sie den Repository-Parameter , um anzugeben, welches Repository nach einem Modul gesucht werden soll. Wird verwendet, wenn mehrere Repositorys registriert werden. Akzeptiert eine durch Trennzeichen getrennte Liste von Repositorys. Verwenden Sie Register-PSRepository, um ein Repository zu registrieren. Verwenden Sie Get-PSRepositoryzum Anzeigen registrierter Repositorys .

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

-RequiredVersion

Gibt die genaue Versionsnummer des Moduls an, das in die Ergebnisse aufgenommen werden soll. RequiredVersion kann nicht im gleichen Befehl wie MinimumVersion oder MaximumVersion verwendet werden.

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

-RoleCapability

Gibt ein Array von Rollenfunktionen an.

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

-Tag

Gibt ein Array von Tags an. Beispieltags sind DesiredStateConfiguration, DSC, DSCResourceKit oder PSModule.

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

Eingaben

String[]

String

Uri

PSCredential

Ausgaben

PSRepositoryItemInfo

Find-Module erstellt PSRepositoryItemInfo-Objekte , die an Cmdlets wie Install-Modulegesendet werden können.

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.