Install-Module
Lädt ein oder mehrere Module aus einem Repository herunter und installiert sie auf dem lokalen Computer.
Syntax
Install-Module
[-Name] <String[]>
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-RequiredVersion <String>]
[-Repository <String[]>]
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllowClobber]
[-SkipPublisherCheck]
[-Force]
[-AllowPrerelease]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-Module
[-InputObject] <PSObject[]>
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllowClobber]
[-SkipPublisherCheck]
[-Force]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Install-Module
Cmdlet ruft ein oder mehrere Module ab, die bestimmte Kriterien aus einem Onlinerepository erfüllen. Das Cmdlet überprüft, ob Suchergebnisse gültige Module sind, und kopiert die Modulordner an den Installationsspeicherort. Installierte Module werden nach der Installation nicht automatisch importiert.
Sie können filtern, welches Modul basierend auf den minimalen, maximalen und exakten Versionen der angegebenen Module installiert ist.
Dies ist ein Proxy-Cmdlet für das Get-InstalledPSResource
Cmdlet in microsoft.PowerShell.PSResourceGet. Weitere Informationen finden Sie unter Install-PSResource.
Beispiele
Beispiel 1: Suchen und Installieren eines Moduls
In diesem Beispiel wird ein Modul im Repository gefunden und das Modul installiert.
Find-Module -Name PowerShellGet | Install-Module
Der Find-Module
Parameter Name wird verwendet, um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen. Das Objekt wird an das Cmdlet Install-Module
weitergeleitet.
Install-Module
installiert das Modul für alle Benutzer in $env:ProgramFiles\PowerShell\Modules
.
Beispiel 2: Installieren eines Moduls anhand des Namens
In diesem Beispiel wird die neueste Version des PowerShellGet-Moduls installiert.
Install-Module -Name PowerShellGet
Der Install-Module
Parameter Name wird verwendet, um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen und installiert.
Beispiel 3: Installieren eines Moduls mit seiner Mindestversion
In diesem Beispiel wird die Mindestversion des PowerShellGet-Moduls installiert. Der Parameter MinimumVersion gibt die niedrigste Version des Moduls an, die installiert werden soll. Wenn eine neuere Version des Moduls verfügbar ist, wird diese Version für alle Benutzer heruntergeladen und installiert.
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
Der Install-Module
Parameter Name wird verwendet, um das PowerShellGet-Modul anzugeben. Der Parameter MinimumVersion gibt an, dass Version 2.0.1 aus dem Repository heruntergeladen und installiert wird. Da Version 2.0.4 verfügbar ist, wird diese Version für alle Benutzer heruntergeladen und installiert.
Beispiel 4: Installieren einer bestimmten Version eines Moduls
In diesem Beispiel wird eine bestimmte Version des PowerShellGet-Moduls installiert.
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
Der Install-Module
Parameter Name wird verwendet, um das PowerShellGet-Modul anzugeben. Der Parameter RequiredVersion gibt an, dass Version 2.0.0 für alle Benutzer heruntergeladen und installiert wird.
Beispiel 5: Installieren eines Moduls nur für den aktuellen Benutzer
In diesem Beispiel wird die neueste Version eines Moduls nur für den aktuellen Benutzer heruntergeladen und installiert.
Install-Module -Name PowerShellGet -Scope CurrentUser
Der Install-Module
Parameter Name wird verwendet, um das PowerShellGet-Modul anzugeben.
Install-Module
lädt die neueste Version von PowerShellGet in das Verzeichnis $HOME\Documents\PowerShell\Modules
des aktuellen Benutzers herunter und installiert sie.
Beispiel 6: Installieren der neuesten Vorabversion eines Moduls
In diesem Beispiel wird gezeigt, wie Sie die neueste Version eines Moduls installieren, wenn diese Version eine Vorabversion ist. Für die Installation einer Vorabversion ist der Parameter AllowPrerelease erforderlich.
Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease
Mit dieser Methode erhalten Sie die neueste verfügbare Version. Wenn die neueste Version keine Vorabversion ist, erhalten Sie die neueste stabile Version des Moduls.
Beispiel 7: Installieren einer bestimmten Vorabversion eines Moduls
In diesem Beispiel wird gezeigt, wie Sie eine bestimmte Vorabversion eines Moduls installieren. Das Find-Module
Cmdlet kann verwendet werden, um Vorabversionen von Modulen im PowerShell-Katalog zu finden.
Vorabversionen weisen ein Format von <version_number>-<prerelease_label>
.
Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5
Version Name Repository Description
------- ---- ---------- -----------
2.2.6 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.5 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.4-beta1 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.3 PSReadLine PSGallery Great command line editing in the PowerS…
2.2.2 PSReadLine PSGallery Great command line editing in the PowerS…
Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease
Verwenden Sie die im PowerShell-Katalog angezeigte Version für den Wert des Parameters RequiredVersion .
Parameter
-AcceptLicense
Für Module, die eine Lizenz erfordern, akzeptiert AcceptLicense während der Installation automatisch den Lizenzvertrag. Weitere Informationen finden Sie in Modulen, die Lizenzakzeptanz erfordern.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-AllowClobber
Überschreibt Warnmeldungen zu Installationskonflikten zu vorhandenen Befehlen auf einem Computer.
Überschreibt vorhandene Befehle mit demselben Namen wie Befehle, die von einem Modul installiert werden.
AllowClobber und Force können in einem Install-Module
Befehl zusammen verwendet werden.
Das Proxy-Cmdlet transformiert den Wert dieses Parameters in den NoClobber-Parameter des Install-PSResource
Cmdlets.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-AllowPrerelease
Ermöglicht ihnen die Installation eines Moduls, das als Vorabversion gekennzeichnet ist.
Das Proxy-Cmdlet ordnet diesen Parameter dem Parameter Prerelease von Install-PSResource
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet Install-Module
ausführen.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt ein Benutzerkonto an, das über Berechtigungen zum Installieren eines Moduls für einen angegebenen Paketanbieter oder eine angegebene Quelle verfügt.
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Force
Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Wird für Pipelineeingaben verwendet. Ein Fehler wird ausgelöst, wenn ein direkt an InputObject bereitgestellter Wert. Verwenden Sie die Pipeline, um Objekte mit dem InputObject-Parameter zu übergeben.
Typ: | PSObject[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-MaximumVersion
Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResource
zu erstellen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-MinimumVersion
Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResource
zu erstellen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Name
Gibt die genauen Namen von Modulen an, die aus dem Onlinekatalog installiert werden sollen. Eine durch Trennzeichen getrennte Liste von Modulnamen wird akzeptiert. Der Modulname muss mit dem Modulnamen im Repository übereinstimmen. Dient Find-Module
zum Abrufen einer Liste von Modulnamen.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-PassThru
Bei Verwendung des PassThru-ParametersInstall-Module
gibt ein PSRepositoryItemInfo - Objekt für das Modul aus. Dies sind die gleichen Informationen, die Sie vom Find-Module
Cmdlet erhalten.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Proxy
Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource
.
Typ: | Uri |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ProxyCredential
Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource
.
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Repository
Verwenden Sie den Repository-Parameter , um den Namen des Repositorys anzugeben, aus dem ein Modul heruntergeladen und installiert werden soll. Wird verwendet, wenn mehrere Repositorys registriert sind. Gibt den Namen eines registrierten Repositorys Install-Module
im Befehl an. Verwenden Sie Register-PSRepository
zum Registrieren eines Repositorys .
Verwenden Sie Get-PSRepository
zum Anzeigen registrierter Repositorys .
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RequiredVersion
Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResource
zu erstellen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Scope
Gibt den Installationsumfang des Moduls an. Die zulässigen Werte für diesen Parameter sind AllUsers und CurrentUser.
Der Bereich "AllUsers " installiert Module an einem Speicherort, auf den alle Benutzer des Computers zugreifen können:
$env:ProgramFiles\PowerShell\Modules
CurrentUser installiert Module an einem Speicherort, auf den nur der aktuelle Benutzer des Computers zugreifen kann. Zum Beispiel:
$HOME\Documents\PowerShell\Modules
Wenn kein Bereich definiert ist, wird der Standardwert basierend auf der PowerShellGet-Version festgelegt.
- In PowerShellGet 1.x-Versionen ist die Standardeinstellung "AllUsers", für die eine Erhöhung für die Installation erforderlich ist.
- Für PowerShellGet-Versionen 2.0.0 und höher in PowerShell 6 oder höher:
- The default is CurrentUser, which doesn't require elevation for install.
- Wenn Sie in einer Sitzung mit erhöhten Rechten ausgeführt werden, ist die Standardeinstellung "AllUsers".
Typ: | String |
Zulässige Werte: | CurrentUser, AllUsers |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-SkipPublisherCheck
Das Proxy-Cmdlet wandelt diesen Parameter vor dem Aufrufen Install-PSResource
in AuthenticodeCheck um.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn ein Install-Module
Befehl ausgeführt wurde. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
PSRepositoryItemInfo
Find-Module
erstellt PSRepositoryItemInfo - Objekte, die an die Pipeline Install-Module
gesendet werden können.
String[]
PSObject[]
Ausgaben
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
Bei Verwendung des PassThru-ParametersInstall-Module
gibt ein PSRepositoryItemInfo - Objekt für das Modul aus. Dies sind die gleichen Informationen, die Sie vom Find-Module
Cmdlet erhalten.
Hinweise
PowerShell enthält die folgenden Aliase für Install-Module
:
- Alle Plattformen:
inmo
Install-Module
wird auf PowerShell 5.0- oder höher-Versionen unter Windows 7 oder Windows 2008 R2 und höheren Versionen von Windows ausgeführt.
Wichtig
Ab April 2020 unterstützt der PowerShell-Katalog die Tls-Versionen 1.0 und 1.1 nicht mehr. Wenn Sie TLS 1.2 oder höher nicht verwenden, wird beim Versuch, auf den PowerShell-Katalog zuzugreifen, eine Fehlermeldung angezeigt. Verwenden Sie den folgenden Befehl, um sicherzustellen, dass Sie TLS 1.2 verwenden:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Weitere Informationen finden Sie in der Ankündigung im PowerShell-Blog.
Als bewährte Methode für die Sicherheit sollten Sie den Code eines Moduls auswerten, bevor Sie cmdlets oder Funktionen zum ersten Mal ausführen. Um die Ausführung von Modulen zu verhindern, die schädlichen Code enthalten, werden installierte Module nach der Installation nicht automatisch importiert.
Wenn der durch den Parameter Name angegebene Modulname im Repository nicht vorhanden ist, Install-Module
wird ein Fehler zurückgegeben.
Verwenden Sie zum Installieren mehrerer Module den Parameter Name , und geben Sie ein durch Trennzeichen getrenntes Array von Modulnamen an. Wenn Sie mehrere Modulnamen angeben, können Sie "MinimumVersion", "MaximumVersion" oder "RequiredVersion" nicht verwenden.
Find-Module
erstellt PSRepositoryItemInfo - Objekte, die an die Pipeline Install-Module
gesendet werden können. Die Pipeline ist eine weitere Möglichkeit, mehrere Module anzugeben, die in einem einzigen Befehl installiert werden sollen.
Standardmäßig werden Module für den Bereich von AllUsers in $env:ProgramFiles\PowerShell\Modules
installiert. Die Standardeinstellung verhindert Verwirrung, wenn Sie PowerShell Desired State Configuration (DSC)-Ressourcen installieren.
Eine Modulinstallation schlägt fehl und kann nicht importiert werden, wenn sie nicht über einen .psm1
, .psd1
oder .dll
denselben Namen innerhalb des Ordners verfügt. Verwenden Sie den Parameter Force , um das Modul zu installieren.
Wenn die Version eines vorhandenen Moduls mit dem durch den Parameter "Name " angegebenen Namen übereinstimmt und der Parameter "MinimumVersion " oder "RequiredVersion " nicht verwendet wird, wird im Hintergrund fortgesetzt, Install-Module
aber das Modul wird nicht installiert.
Wenn die Version eines vorhandenen Moduls größer als der Wert des Parameters "MinimumVersion " oder gleich dem Wert des Parameters "RequiredVersion " ist, wird im Hintergrund fortgesetzt, Install-Module
aber das Modul wird nicht installiert.
Wenn das vorhandene Modul nicht mit den durch die Parameter "MinimumVersion " oder "RequiredVersion " angegebenen Werten übereinstimmt, tritt ein Fehler im Install-Module
Befehl auf. Wenn beispielsweise die Version des vorhandenen installierten Moduls niedriger als der MinimumVersion-Wert oder nicht gleich dem RequiredVersion-Wert ist.
Install-Module
installiert auch alle abhängigen Module, die vom Modulherausgeber angegeben werden.
Der Herausgeber listet die erforderlichen Module und deren Versionen im Modulmanifest auf.