Find-Module

Findet 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, das den angegebenen Kriterien entspricht. Find-Module gibt ein PSRepositoryItemInfo -Objekt für jedes gesuchte Modul zurück. Die Objekte können an Cmdlets wie Install-Modulez. B. an Cmdlets gesendet werden.

Beim ersten Find-Module Versuch, ein Repository zu verwenden, werden Sie möglicherweise aufgefordert, Updates zu installieren. Wenn die Repositoryquelle nicht mit 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. Um die Liste der Versionen eines Moduls abzurufen, verwenden Sie den Parameter AllVersions.

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

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

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

In den folgenden Beispielen wird die 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 Parameter, um den -Repository Namen des Repositorys anzugeben.

Beispiele

Beispiel 1: Suchen eines Moduls nach Name

In diesem Beispiel wird ein Modul im Standard-Repository 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 von Modulen mit ähnlichen Namen

In diesem Beispiel wird das 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 Sternchen (*) platzhalter, 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. Die 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 PSGallery-Repository zu durchsuchen.

Beispiel 6: Suchen eines Moduls in mehreren Repositorys

In diesem Beispiel wird das Register-PSRepository Repository angegeben. 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 Parameter Name weist den Namen MySource zu. Der SourceLocation-Parameter gibt die Adresse des Repositorys an.

Das Find-Module Cmdlet verwendet den Parameter Name mit dem Sternchen (*) zum Angeben des Contoso-Moduls . 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 Parameter "Includes " verfügt über vier vordefinierte Funktionen, die zum Durchsuchen des Repositorys verwendet werden. Verwenden Sie tabvervollständigen, um die vier Funktionen anzuzeigen, die vom Parameter "Includes " 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 Repositoryparameter, um das Repository, PSGallery, zu durchsuchen. Der Parameter Includes gibt DscResource an, die eine Funktionalität ist, nach der der Parameter im Repository suchen kann.

Beispiel 8: Suchen eines Moduls mit einem Filter

In diesem Beispiel wird ein Filter verwendet, um Module zu finden, um das Repository zu durchsuchen.

Bei einem NuGet-basierten Repository durchsucht der Filterparameter den Namen, die Beschreibung und die Tags für das 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 Parameter "Filter ", um das Repository für AppDomain zu durchsuchen.

Parameter

-AllowPrerelease

Enthält die Ergebnissemodule, 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, alle Versionen eines Moduls in die Ergebnisse einzuschließen. Sie können den Parameter "AllVersions" 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 gefunden 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 Rechte 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 teil des Namens von Modulen an, die DSC-Ressourcen enthalten. In PowerShell-Konventionen wird eine OR-Suche ausgeführt, 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 anbieterspezifischen Suchsyntax "PackageManagement " an. Für NuGet-Module entspricht dieser Parameter der Suche mithilfe der Suchleiste 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 enthält, die vom modul abhängig sind, das im Parameter Name angegeben ist.

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

-Includes

Gibt nur diese Module zurück, die bestimmte Arten von PowerShell-Funktionen enthalten. Sie können beispielsweise nur Module finden, 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 einbezogen 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 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 von Modulen an, die im Repository gesucht werden sollen. Eine durch Trennzeichen getrennte Liste von Modulnamen wird akzeptiert. Wildcards 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-PSRepositoryzum Registrieren eines Repositorys . Verwenden Sie Get-PSRepository, um registrierte Repositorys anzuzeigen.

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 einbezogen werden soll. ErforderlichVersion kann nicht in demselben 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 umfassen 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-Modulez. B. die Pipeline gesendet 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.